name: Build and test on: push: branches: - master pull_request: paths: - '.github/workflows/test.yml' - '**Makefile' - '**.go' - '**.proto' - 'go.mod' - 'go.sum' jobs: test-linux: name: Build all and test on ubuntu-linux runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: '1.23' check-latest: true - name: Build run: make all - name: Vet run: make vet - name: golangci-lint uses: golangci/golangci-lint-action@v6 with: version: v1.64 - name: Test run: make test - name: End 2 end run: make e2evv - name: Build test mobile run: make build-test-mobile - uses: actions/upload-artifact@v4 with: name: e2e packet flow linux-latest path: e2e/mermaid/linux-latest if-no-files-found: warn test-linux-boringcrypto: name: Build and test on linux with boringcrypto runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: '1.23' check-latest: true - name: Build run: make bin-boringcrypto - name: Test run: make test-boringcrypto - name: End 2 end run: make e2e GOEXPERIMENT=boringcrypto CGO_ENABLED=1 TEST_ENV="TEST_LOGS=1" TEST_FLAGS="-v -ldflags -checklinkname=0" test-linux-pkcs11: name: Build and test on linux with pkcs11 runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: '1.22' check-latest: true - name: Build run: make bin-pkcs11 - name: Test run: make test-pkcs11 test: name: Build and test on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: matrix: os: [windows-latest, macos-latest] steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: '1.23' check-latest: true - name: Build nebula run: go build ./cmd/nebula - name: Build nebula-cert run: go build ./cmd/nebula-cert - name: Vet run: make vet - name: golangci-lint uses: golangci/golangci-lint-action@v6 with: version: v1.64 - name: Test run: make test - name: End 2 end run: make e2evv - uses: actions/upload-artifact@v4 with: name: e2e packet flow ${{ matrix.os }} path: e2e/mermaid/${{ matrix.os }} if-no-files-found: warn