Skip to content

ci: include runner arch in cargo cache key to avoid cross-arch conflicts for go#282

Merged
JingsongLi merged 1 commit into
apache:release-0.1from
luoyuxia:release-0.1
Apr 24, 2026
Merged

ci: include runner arch in cargo cache key to avoid cross-arch conflicts for go#282
JingsongLi merged 1 commit into
apache:release-0.1from
luoyuxia:release-0.1

Conversation

@luoyuxia
Copy link
Copy Markdown
Contributor

@luoyuxia luoyuxia commented Apr 24, 2026

Purpose

Fix the Go binding release workflow failure caused by cross-architecture cargo cache pollution.

The release-go-binding.yml workflow uses actions/cache with key ${{ runner.os }}-cargo-..., which doesn't distinguish between CPU architectures. When both ubuntu-latest (x86_64) and ubuntu-24.04-arm (arm64) share the same cache key, the arm64 runner may save its cargo binaries first. Subsequent runs on x86_64 restore the arm64 cargo binary, resulting in Exec format error. The same issue affects macos-14 (ARM) vs macos-15-intel (x86_64), causing command not found.

Brief change log

  • Add runner.arch to the cargo cache key in release-go-binding.yml, changing the key from ${{ runner.os }}-cargo-<hash> to ${{ runner.os }}-${{ runner.arch }}-cargo-<hash>. This ensures each architecture maintains its own cache (e.g., Linux-X64-cargo-... vs Linux-ARM64-cargo-...).

Tests

  • The fix can be verified by triggering the Go binding release workflow — all four build jobs (linux amd64/arm64, darwin amd64/arm64) should pass.

API and Format

No.

Documentation

No.

@JingsongLi
Copy link
Copy Markdown
Contributor

+1

@JingsongLi JingsongLi merged commit 6fa0f33 into apache:release-0.1 Apr 24, 2026
luoyuxia added a commit to luoyuxia/paimon-rust that referenced this pull request May 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants