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-file: 'go.mod' check-latest: true - name: Build run: make all - name: Vet run: make vet - 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@v3 with: name: e2e packet flow path: e2e/mermaid/ 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-file: 'go.mod' check-latest: true - name: Build run: make bin-boringcrypto - name: Test run: make test-boringcrypto - name: End 2 end run: make e2evv GOEXPERIMENT=boringcrypto CGO_ENABLED=1 test: name: Build and test on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: matrix: os: [windows-latest, macos-11] steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version-file: 'go.mod' 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: Test run: make test - name: End 2 end run: make e2evv - uses: actions/upload-artifact@v3 with: name: e2e packet flow path: e2e/mermaid/ if-no-files-found: warn