GitHub: allow not caching the Golang build cache

This is a tradeoff of disk space (and with that cache size) and
compilation speed. Because we're still running into disk full errors
with the full build cache, we remove it for the cross compile step.
Which means we'll do more work each time.
This commit is contained in:
Oliver Gugger 2024-12-10 19:11:18 +01:00
parent e68b2ad015
commit 66c3a46e4c
No known key found for this signature in database
GPG key ID: 8E4256593F177720
2 changed files with 21 additions and 1 deletions

View file

@ -7,6 +7,12 @@ inputs:
key-prefix:
description: "A prefix to use for the cache key, to separate cache entries from other workflows"
required: false
use-build-cache:
description: "Whether to use the build cache"
required: false
# Boolean values aren't supported in the workflow syntax, so we use a
# string. To not confuse the value with true/false, we use 'yes' and 'no'.
default: 'yes'
runs:
using: "composite"
@ -17,7 +23,8 @@ runs:
with:
go-version: '${{ inputs.go-version }}'
- name: go cache
- name: go module and build cache
if: ${{ inputs.use-build-cache == 'yes' }}
uses: actions/cache@v3
with:
# In order:
@ -35,6 +42,18 @@ runs:
${{ runner.os }}-go-${{ inputs.go-version }}-${{ inputs.key-prefix }}-${{ github.job }}-
${{ runner.os }}-go-${{ inputs.go-version }}-${{ inputs.key-prefix }}-
- name: go module cache
if: ${{ inputs.use-build-cache == 'no' }}
uses: actions/cache@v3
with:
# Just the module download cache.
path: |
~/go/pkg/mod
key: ${{ runner.os }}-go-${{ inputs.go-version }}-${{ inputs.key-prefix }}-no-build-cache-${{ github.job }}-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-${{ inputs.go-version }}-${{ inputs.key-prefix }}-no-build-cache-${{ github.job }}-
${{ runner.os }}-go-${{ inputs.go-version }}-${{ inputs.key-prefix }}-no-build-cache-
- name: set GOPATH
shell: bash
run: |

View file

@ -148,6 +148,7 @@ jobs:
with:
go-version: '${{ env.GO_VERSION }}'
key-prefix: cross-compile
use-build-cache: 'no'
- name: build release for all architectures
run: make release