forked from quic-go/quic-go
lookup-only doesn't download the cache, even if it's there. This is not what we intended: we still want to use the cache for PRs, we just want to upload a new cache.
38 lines
1.3 KiB
YAML
38 lines
1.3 KiB
YAML
on: [push, pull_request]
|
|
jobs:
|
|
crosscompile:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
go: [ "1.24.x", "1.25.x" ]
|
|
runs-on: ${{ fromJSON(vars['CROSS_COMPILE_RUNNER_UBUNTU'] || '"ubuntu-latest"') }}
|
|
name: "Cross Compilation (Go ${{matrix.go}})"
|
|
timeout-minutes: 30
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version: ${{ matrix.go }}
|
|
- name: Load Go build cache
|
|
id: load-go-cache
|
|
uses: actions/cache/restore@v4
|
|
with:
|
|
path: ~/.cache/go-build
|
|
key: go-${{ matrix.go }}-crosscompile
|
|
- name: Install build utils
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y gcc-multilib
|
|
- name: Install dependencies
|
|
run: go build example/main.go
|
|
- name: Run cross compilation
|
|
# run in parallel on as many cores as are available on the machine
|
|
run: go tool dist list | xargs -I % -P "$(nproc)" .github/workflows/cross-compile.sh %
|
|
- name: Save Go build cache
|
|
# only store cache when on master
|
|
if: github.event_name == 'push' && github.ref_name == 'master'
|
|
uses: actions/cache/save@v4
|
|
with:
|
|
path: ~/.cache/go-build
|
|
key: go-${{ matrix.go }}-crosscompile
|