Improvements to go tests in CI #41878
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build binaries | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
workflow_dispatch: | |
# This allows a subsequently queued workflow run to interrupt previous runs | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id}} | |
cancel-in-progress: true | |
defaults: | |
run: | |
# fail-fast using bash -eo pipefail. See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#exit-codes-and-error-action-preference | |
shell: bash | |
permissions: | |
contents: read | |
jobs: | |
build-binaries: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Harden Runner | |
uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0 | |
with: | |
egress-policy: audit | |
- name: Install Go | |
uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0 | |
with: | |
go-version: ${{ vars.GO_VERSION }} | |
# Set the Node.js version | |
- name: Set up Node.js ${{ vars.NODE_VERSION }} | |
uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 | |
with: | |
node-version: ${{ vars.NODE_VERSION }} | |
- name: Checkout Code | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
- name: JS Dependency Cache | |
id: js-cache | |
uses: actions/cache@69d9d449aced6a2ede0bc19182fadc3a0a42d2b0 # v2 | |
with: | |
path: | | |
**/node_modules | |
# Use a separate cache for this from other JS jobs since we run the | |
# webpack steps and will have more to cache. | |
key: ${{ runner.os }}-node_modules-${{ hashFiles('**/yarn.lock') }}-node_version-${{ vars.NODE_VERSION }} | |
restore-keys: | | |
${{ runner.os }}-node_modules- | |
- name: Go Cache | |
id: go-cache | |
uses: actions/cache@69d9d449aced6a2ede0bc19182fadc3a0a42d2b0 # v2 | |
with: | |
# In order: | |
# * Module download cache | |
# * Build cache (Linux) | |
# * Build cache (Mac) | |
# * Build cache (Windows) | |
path: | | |
~/go/pkg/mod | |
~/.cache/go-build | |
~/Library/Caches/go-build | |
%LocalAppData%\go-build | |
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go- | |
- name: Install JS Dependencies | |
if: steps.js-cache.outputs.cache-hit != 'true' | |
run: make deps-js | |
- name: Install Go Dependencies | |
if: steps.go-cache.outputs.cache-hit != 'true' | |
run: make deps-go | |
- name: Generate static files | |
run: | | |
export PATH=$PATH:~/go/bin | |
make generate | |
- name: Build binaries | |
run: make | |
- uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v2 | |
with: | |
name: build | |
path: build/ |