summaryrefslogtreecommitdiffhomepage
path: root/.github/workflows/go.yml
diff options
context:
space:
mode:
authorAdin Scannell <ascannell@google.com>2021-01-12 20:31:08 -0800
committergVisor bot <gvisor-bot@google.com>2021-01-12 20:33:28 -0800
commite74aa25e2289878fdbfc7affdd2e031be3a99b31 (patch)
tree5e9a986205da672e24e2755d090dc77197d378a3 /.github/workflows/go.yml
parent62b4c2f5173dfa75387c079bd3dd6d5e5c3abae9 (diff)
Fix Go branch building.
Files removed from the working tree were not being properly removed from the branch, leading to symbol conflicts while building. This requires the change to 'git add --all' in the tools/go_branch.sh script. But why was this not caught by CI? The "git clean -f" command by default only cleans files in the current working directory. In order to clean the whole tree recursively, we need to specify a pathspec, which is ".". In addition to these fixes, re-add the "go tests" command to help prevent this from happening again, since merges on the Go branch will happen in GitHub actions for simplicity. The Go test is retained in BuildKite. PiperOrigin-RevId: 351503804
Diffstat (limited to '.github/workflows/go.yml')
-rw-r--r--.github/workflows/go.yml47
1 files changed, 31 insertions, 16 deletions
diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml
index 802fe5ce5..594dc7ffc 100644
--- a/.github/workflows/go.yml
+++ b/.github/workflows/go.yml
@@ -7,6 +7,10 @@ name: "Go"
push:
branches:
- master
+ pull_request:
+ branches:
+ - master
+ - "feature/**"
jobs:
generate:
@@ -19,31 +23,42 @@ jobs:
else
echo ::set-output name=has_token::false
fi
+ - 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: steps.setup.outputs.has_token == 'true'
+ if: github.event_name == 'push' && steps.setup.outputs.has_token == 'true'
with:
fetch-depth: 0
token: '${{ secrets.GO_TOKEN }}'
- uses: actions/checkout@v2
- if: steps.setup.outputs.has_token != 'true'
+ if: github.event_name == 'pull_request' || steps.setup.outputs.has_token != 'true'
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-
+ go-version: 1.15
- run: tools/go_branch.sh
- - run: |
+ - run: git checkout go && git clean -xf . && 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 }}"