Files
quic-go/.github/workflows/cross-compile.yml
Marten Seemann ade68c8e0f ci: fix cache save and restore logic for cross compile workflow (#5300)
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.
2025-08-24 05:48:49 +02:00

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