ci: update Go and harden Rust package builds - #1011
Conversation
Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Enterprise Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 12 included reviews per hour; 9 remain after this review. 📜 Recent review details⏰ Context from checks skipped due to timeout. (43)
🧰 Additional context used📓 Path-based instructions (1)Review automation changes for reproducibility, pinned versions where appropriate, secret handling, and consistency with the documented validation matrix.⚙️ CodeRabbit configuration file Files:
🔇 Additional comments (1)
WalkthroughThe Rust package workflow now filters offline Cargo metadata by matrix target. CI also updates the Go version from 1.26.1 to 1.27.1. ChangesCI tooling updates
Priority: ⬇️ Low Estimated code review effort: 1 (Trivial) | ~5 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to This updates CI to Go 1.27.1 and scopes Rust metadata resolution to each matrix target. No actionable correctness, security, or availability risk remains for merge. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com>
|
/merge |
Overview
Make Rust package builds deterministic with a cold Cargo cache and restore Windows ARM64 Go binding tests on current GitHub-hosted runners.
These failures reproduce on
mainand are independent of the uninstall support PR. The Rust failure occurred because target-specific fetching was followed by unfiltered offline metadata resolution. The Windows failure occurred because Relay CI remained pinned to Go 1.26, whose cgo driver passes the MinGW-only-mthreadsoption to Clang while Relay targets the MSVC ABI.Details
--filter-platformto the offlinecargo metadatarefresh used by Rust package jobs so it resolves only dependencies fetched for the matrix target.go 1.21; changing the CI toolchain does not raise the module language version or minimum toolchain declaration.The failures were observed on the current main build:
Validation:
go.dev.go version go1.27.1 darwin/arm64.-mthreadsand uses-pthreadfor cgo builds.git diff --check.The Windows-specific result is left to the PR CI matrix, which installs the shared Go pin on the actual Windows ARM64 runner.
Where should the reviewer start?
Start with
.github/ci-tool-versions.envfor the Go 1.27.1 pin, then review the target-filtered metadata command in.github/workflows/ci_rust.yml. The key design decision is to consume the released upstream Go fix rather than carry a Relay-specific compiler argument filter.Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)
Summary by CodeRabbit