# Generated by internal/ci/ci_tool.cue; do not edit

name: Test
env:
  GERRIT_COOKIE: ${{ secrets.gerritCookie }}
defaults:
  run:
    shell: bash
on:
  push:
    branches:
    - '*'
    tags-ignore:
    - v*
jobs:
  test:
    needs: start
    runs-on: ${{ matrix.os }}
    steps:
    - name: Set build branch env vars
      run: |-
        echo "::set-env name=CUE_IS_BUILD_BRANCH::$(echo $GITHUB_REF | grep -q '^refs\/heads\/[[:digit:]]\{14\}-I[0-9a-f]\+-[0-9a-f]\+-refs_changes_[[:digit:]]\{2\}_[[:digit:]]\+_[[:digit:]]\+$' && echo true || echo false)"
        echo "::set-env name=CUE_CHANGE_ID::$(echo $GITHUB_REF | cut -d '-' -f 2)"
        echo "::set-env name=CUE_COMMIT::$(echo $GITHUB_REF | cut -d '-' -f 3)"
        echo "::set-env name=CUE_REF::$(echo $GITHUB_REF | cut -d '-' -f 4 | sed 's/_/\//g')"
    - 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: 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 ./...
    - name: Test
      run: go test ./...
    - name: Test with -race
      run: go test -race ./...
    - name: gorelease check
      if: matrix.go-version == '1.14.3' || matrix.go-version == '1.13.x'
      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: Pull this commit through the proxy on master
      if: github.ref == 'refs/heads/master'
      run: |-
        v=$(git rev-parse HEAD)
        cd $(mktemp -d)
        go mod init mod.com
        GOPROXY=https://proxy.golang.org go get -d cuelang.org/go@$v
    - name: Post any failures for this matrix entry
      if: ${{ env.CUE_IS_BUILD_BRANCH == 'true' && failure() }}
      run: 'curl -f -s -H "Content-Type: application/json" --request POST --data ''{"message":"Build
        failed for ${{ runner.os }}-${{ matrix.go-version }}; see ${{ github.event.repository.html_url
        }}/actions/runs/${{ github.run_id }} for more details","labels":{"Code-Review":-1}}''
        -b ~/.gitcookies https://cue-review.googlesource.com/a/changes/$CUE_CHANGE_ID/revisions/$CUE_COMMIT/review'
    strategy:
      matrix:
        go-version:
        - 1.12.x
        - 1.13.x
        - 1.14.3
        os:
        - ubuntu-latest
        - macos-latest
        - windows-latest
      fail-fast: false
  start:
    runs-on: ubuntu-latest
    steps:
    - name: Set build branch env vars
      run: |-
        echo "::set-env name=CUE_IS_BUILD_BRANCH::$(echo $GITHUB_REF | grep -q '^refs\/heads\/[[:digit:]]\{14\}-I[0-9a-f]\+-[0-9a-f]\+-refs_changes_[[:digit:]]\{2\}_[[:digit:]]\+_[[:digit:]]\+$' && echo true || echo false)"
        echo "::set-env name=CUE_CHANGE_ID::$(echo $GITHUB_REF | cut -d '-' -f 2)"
        echo "::set-env name=CUE_COMMIT::$(echo $GITHUB_REF | cut -d '-' -f 3)"
        echo "::set-env name=CUE_REF::$(echo $GITHUB_REF | cut -d '-' -f 4 | sed 's/_/\//g')"
    - name: Write the gitcookies file
      run: echo "$GERRIT_COOKIE" > ~/.gitcookies
    - name: Update Gerrit CL message with starting message
      if: ${{ env.CUE_IS_BUILD_BRANCH == 'true' }}
      run: 'curl -f -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/$CUE_CHANGE_ID/revisions/$CUE_COMMIT/review'
  end:
    needs: test
    runs-on: ubuntu-latest
    steps:
    - name: Set build branch env vars
      run: |-
        echo "::set-env name=CUE_IS_BUILD_BRANCH::$(echo $GITHUB_REF | grep -q '^refs\/heads\/[[:digit:]]\{14\}-I[0-9a-f]\+-[0-9a-f]\+-refs_changes_[[:digit:]]\{2\}_[[:digit:]]\+_[[:digit:]]\+$' && echo true || echo false)"
        echo "::set-env name=CUE_CHANGE_ID::$(echo $GITHUB_REF | cut -d '-' -f 2)"
        echo "::set-env name=CUE_COMMIT::$(echo $GITHUB_REF | cut -d '-' -f 3)"
        echo "::set-env name=CUE_REF::$(echo $GITHUB_REF | cut -d '-' -f 4 | sed 's/_/\//g')"
    - name: Write the gitcookies file
      run: echo "$GERRIT_COOKIE" > ~/.gitcookies
    - name: Update Gerrit CL message with success message
      if: ${{ env.CUE_IS_BUILD_BRANCH == 'true' }}
      run: 'curl -f -s -H "Content-Type: application/json" --request POST --data ''{"message":"Build
        succeeded for ${{ github.event.repository.html_url }}/actions/runs/${{ github.run_id
        }}","labels":{"Code-Review":1}}'' -b ~/.gitcookies https://cue-review.googlesource.com/a/changes/$CUE_CHANGE_ID/revisions/$CUE_COMMIT/review'
