ci: include runner arch in cargo cache key to avoid cross-arch conflicts for go#282
Merged
Merged
Conversation
Contributor
|
+1 |
2 tasks
luoyuxia
added a commit
to luoyuxia/paimon-rust
that referenced
this pull request
May 11, 2026
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Fix the Go binding release workflow failure caused by cross-architecture cargo cache pollution.
The
release-go-binding.ymlworkflow usesactions/cachewith key${{ runner.os }}-cargo-..., which doesn't distinguish between CPU architectures. When bothubuntu-latest(x86_64) andubuntu-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 inExec format error. The same issue affectsmacos-14(ARM) vsmacos-15-intel(x86_64), causingcommand not found.Brief change log
runner.archto the cargo cache key inrelease-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-...vsLinux-ARM64-cargo-...).Tests
API and Format
No.
Documentation
No.