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: - name: Set up Go 1.16 uses: actions/setup-go@v1 with: go-version: 1.16 id: go - name: Check out code into the Go module directory uses: actions/checkout@v1 - uses: actions/cache@v1 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go1.16-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go1.16- - name: Build run: make all - name: Test run: make test - name: End 2 end run: make e2e test: name: Build and test on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: matrix: os: [windows-latest, macOS-latest] steps: - name: Set up Go 1.16 uses: actions/setup-go@v1 with: go-version: 1.16 id: go - name: Check out code into the Go module directory uses: actions/checkout@v1 - uses: actions/cache@v1 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go1.16-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go1.16- - name: Build nebula run: go build ./cmd/nebula - name: Build nebula-cert run: go build ./cmd/nebula-cert - name: Test run: go test -v ./... - name: End 2 end run: go test -tags=e2e_testing -count=1 ./e2e