name: Windows on: push: branches: - main pull_request: branches: - '*' - 'release-branch/*' concurrency: group: ${{ github.workflow }}-$${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: test: runs-on: windows-latest if: "!contains(github.event.head_commit.message, '[ci skip]')" steps: - name: Checkout code uses: actions/checkout@v3 - name: Install Go uses: actions/setup-go@v3 with: go-version-file: go.mod - name: Restore Cache uses: actions/cache@v3 with: # Note: unlike some other setups, this is only grabbing the mod download # cache, rather than the whole mod directory, as the download cache # contains zips that can be unpacked in parallel faster than they can be # fetched and extracted by tar path: | ~/go/pkg/mod/cache ~\AppData\Local\go-build # The -2- here should be incremented when the scheme of data to be # cached changes (e.g. path above changes). # TODO(raggi): add a go version here. key: ${{ runner.os }}-go-2-${{ hashFiles('**/go.sum') }} - name: Test # Don't use -bench=. -benchtime=1x. # Somewhere in the layers (powershell?) # the equals signs cause great confusion. run: go test -bench . -benchtime 1x ./... - uses: k0kubun/action-slack@v2.0.0 with: payload: | { "attachments": [{ "text": "${{ job.status }}: ${{ github.workflow }} " + "() " + "of ${{ github.repository }}@" + "${{ github.ref }}".split('/').reverse()[0] + " by ${{ github.event.head_commit.committer.name }}", "color": "danger" }] } env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} if: failure() && github.event_name == 'push'