Skip to content

chore: quickstart startup flow #87

chore: quickstart startup flow

chore: quickstart startup flow #87

Workflow file for this run

name: ci
on:
push:
branches: [dev]
pull_request:
branches: [dev]
workflow_dispatch:
jobs:
unit:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: "1.24.13"
cache: false
- name: Go mod tidy
run: go mod tidy
- name: Go vet
run: go vet ./...
- name: Test inventory
run: go run ./scripts/testinventory -output dist/testing
- name: Go test
run: go test ./... -count=1 -timeout 300s
- name: Go build
run: go build ./...
env:
CGO_ENABLED: 0
race:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: "1.24.13"
cache: false
- name: Go mod tidy
run: go mod tidy
- name: Race detection — core, parser, stream
run: >-
go test -race -count=1 -timeout 300s
./server/internal/core
./server/internal/parser/...
./server/internal/stream
mock_implant:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: "1.24.13"
cache: false
- name: Go mod tidy
run: go mod tidy
- name: Discover mock implant packages
shell: bash
run: echo "MOCKIMPLANT_PACKAGES=$(go run ./scripts/testmatrix -layer mockimplant)" >> "$GITHUB_ENV"
- name: Show mock implant package selection
run: echo "$MOCKIMPLANT_PACKAGES"
- name: Mock implant E2E tests
run: go test -tags=mockimplant $MOCKIMPLANT_PACKAGES -count=1 -timeout 300s
integration:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: "1.24.13"
cache: false
- name: Go mod tidy
run: go mod tidy
- name: Discover integration packages
shell: bash
run: echo "INTEGRATION_PACKAGES=$(go run ./scripts/testmatrix -layer integration)" >> "$GITHUB_ENV"
- name: Show integration package selection
run: echo "$INTEGRATION_PACKAGES"
- name: Client/Server integration tests
run: go test -tags=integration $INTEGRATION_PACKAGES -count=1 -timeout 300s