| # Generated by internal/ci/ci_tool.cue; do not edit |
| |
| name: Test |
| env: |
| GERRIT_COOKIE: ${{ secrets.gerritCookie }} |
| defaults: |
| run: |
| shell: bash |
| on: |
| - repository_dispatch |
| jobs: |
| test: |
| needs: start |
| runs-on: ${{ matrix.os }} |
| steps: |
| - name: Write the gitcookies file |
| run: echo "$GERRIT_COOKIE" > ~/.gitcookies |
| - name: Install Go |
| uses: actions/setup-go@v2 |
| with: |
| go-version: ${{ matrix.go-version }} |
| - name: Checkout code |
| uses: actions/checkout@v2 |
| - name: Checkout ref |
| run: |- |
| git fetch https://cue-review.googlesource.com/cue ${{ github.event.client_payload.ref }} |
| git checkout FETCH_HEAD |
| - name: Cache Go modules |
| uses: actions/cache@v1 |
| with: |
| path: ~/go/pkg/mod |
| key: ${{ runner.os }}-${{ matrix.go-version }}-go-${{ hashFiles('**/go.sum') |
| }} |
| restore-keys: ${{ runner.os }}-${{ matrix.go-version }}-go- |
| - name: Generate |
| if: matrix.go-version == '1.14.3' && matrix.os != 'windows-latest' |
| run: |- |
| go generate ./... |
| go generate ./.github/workflows |
| - name: Test |
| run: go test ./... |
| - name: Test with -race |
| run: go test -race ./... |
| - name: gorelease check |
| run: go run golang.org/x/exp/cmd/gorelease |
| - name: Check that git is clean post generate and tests |
| run: test -z "$(git status --porcelain)" || (git status; git diff; false) |
| - name: Post any failures for this matrix entry |
| if: ${{ failure() }} |
| run: 'curl -s -H "Content-Type: application/json" --request POST --data ''{"labels": |
| { "Code-Review": -1 }, "message":"Build failed for ${{ runner.os }}-${{ matrix.go-version |
| }}; see ${{ github.event.repository.html_url }}/actions/runs/${{ github.run_id |
| }} for more details"}'' -b ~/.gitcookies https://cue-review.googlesource.com/a/changes/${{ |
| github.event.client_payload.changeID }}/revisions/${{ github.event.client_payload.commit |
| }}/review' |
| strategy: |
| matrix: |
| go-version: |
| - 1.13.x |
| - 1.14.3 |
| os: |
| - ubuntu-latest |
| - macos-latest |
| - windows-latest |
| fail-fast: false |
| start: |
| runs-on: ubuntu-latest |
| steps: |
| - name: Write the gitcookies file |
| run: echo "$GERRIT_COOKIE" > ~/.gitcookies |
| - name: Update Gerrit CL message with starting message |
| run: 'curl -s -H "Content-Type: application/json" --request POST --data ''{"message":"Started |
| the build... see progress at ${{ github.event.repository.html_url }}/actions/runs/${{ |
| github.run_id }}"}'' -b ~/.gitcookies https://cue-review.googlesource.com/a/changes/${{ |
| github.event.client_payload.changeID }}/revisions/${{ github.event.client_payload.commit |
| }}/review' |
| end: |
| needs: test |
| runs-on: ubuntu-latest |
| steps: |
| - name: Write the gitcookies file |
| run: echo "$GERRIT_COOKIE" > ~/.gitcookies |
| - name: Update Gerrit CL message with success message |
| run: 'curl -s -H "Content-Type: application/json" --request POST --data ''{"labels": |
| { "Code-Review": 1 }, "message":"Build succeeded for ${{ github.event.repository.html_url |
| }}/actions/runs/${{ github.run_id }}"}'' -b ~/.gitcookies https://cue-review.googlesource.com/a/changes/${{ |
| github.event.client_payload.changeID }}/revisions/${{ github.event.client_payload.commit |
| }}/review' |