name: Unit and Integration Tests on: push: branches: - trunk pull_request: permissions: contents: read jobs: build: strategy: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - name: Check out code uses: actions/checkout@v6 - name: Set up Go uses: actions/setup-go@v6 with: go-version-file: "go.mod" - name: Download dependencies run: go mod download - name: Run unit and integration tests run: go test -race -tags=integration ./... - name: Build run: go build -v ./cmd/gh integration-tests: env: GH_TOKEN: ${{ github.token }} strategy: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - name: Check out code uses: actions/checkout@v6 - name: Set up Go uses: actions/setup-go@v6 with: go-version-file: "go.mod" - name: Build executable run: make - name: Run attestation command set integration tests shell: bash run: | ./test/integration/attestation-cmd/run-all-tests.sh "${{ matrix.os }}"