67 lines
2.2 KiB
YAML
67 lines
2.2 KiB
YAML
name: "Go"
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
generate:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- run: |
|
|
jq -nc '{"state": "pending", "context": "go tests"}' | \
|
|
curl -sL -X POST -d @- \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
|
|
"${{ github.event.pull_request.statuses_url }}"
|
|
if: github.event_name == 'pull_request'
|
|
- uses: actions/checkout@v2
|
|
if: github.event_name == 'push'
|
|
with:
|
|
fetch-depth: 0
|
|
token: '${{ secrets.GO_TOKEN }}'
|
|
- uses: actions/checkout@v2
|
|
if: github.event_name == 'pull_request'
|
|
with:
|
|
fetch-depth: 0
|
|
- uses: actions/setup-go@v2
|
|
with:
|
|
go-version: 1.14
|
|
- uses: actions/cache@v1
|
|
with:
|
|
path: ~/go/pkg/mod
|
|
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-go-
|
|
- uses: actions/cache@v1
|
|
with:
|
|
path: ~/.cache/bazel
|
|
key: ${{ runner.os }}-bazel-${{ hashFiles('WORKSPACE') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-bazel-
|
|
- run: make build TARGETS="//:gopath"
|
|
- run: tools/go_branch.sh
|
|
- run: git checkout go && git clean -f
|
|
- run: go build ./...
|
|
- if: github.event_name == 'push'
|
|
run: |
|
|
git remote add upstream "https://github.com/${{ github.repository }}"
|
|
git push upstream go:go
|
|
- if: ${{ success() && github.event_name == 'pull_request' }}
|
|
run: |
|
|
jq -nc '{"state": "success", "context": "go tests"}' | \
|
|
curl -sL -X POST -d @- \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
|
|
"${{ github.event.pull_request.statuses_url }}"
|
|
- if: ${{ failure() && github.event_name == 'pull_request' }}
|
|
run: |
|
|
jq -nc '{"state": "failure", "context": "go tests"}' | \
|
|
curl -sL -X POST -d @- \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
|
|
"${{ github.event.pull_request.statuses_url }}"
|