Skip to content

fix(ci): force-reinstall rust-std for target (win-arm64 E0463 fix) - #783

Merged
zackees merged 1 commit into
mainfrom
fix/rustup-target-add-force-reinstall
Jun 28, 2026
Merged

fix(ci): force-reinstall rust-std for target (win-arm64 E0463 fix)#783
zackees merged 1 commit into
mainfrom
fix/rustup-target-add-force-reinstall

Conversation

@zackees

@zackeeszackees commented Jun 28, 2026

Copy link
Copy Markdown
Member

soldr#1006 Lane 2 third attempt. v2.3.9 win-arm64 failed with E0463: can't find crate for 'core' despite rustup target add reporting "is up to date" — setup-soldr's thin-mode build cache trimmed the .rlib files while leaving rustup's manifest entry. Fix: remove + add forces actual file reinstall.

Summary by CodeRabbit

  • Bug Fixes
    • Improved native build reliability by refreshing installed Rust targets before adding them, reducing failures caused by stale or incomplete target setup.
    • Enhanced support for Windows ARM64 native builds.

soldr#1006 Lane 2 third attempt. v2.3.9 win-arm64 failed at:
error[E0463]: can't find crate for `core`
note: the `aarch64-pc-windows-msvc` target may not be installed
`rustup target add` had already reported "info: component rust-std
for target aarch64-pc-windows-msvc is up to date". The mismatch is
setup-soldr's thin-mode build cache: it trims the actual rust-std
.rlib files from the toolchain dir while leaving rustup's
component manifest claiming the target is installed. Subsequent
`rustup target add` then short-circuits and rustc fails at compile.
Fix: remove + add. `rustup target remove` clears the manifest
entry so the immediate `rustup target add` reinstalls the files
for real.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@zackees
zackees merged commit c5ab63e into mainJun 28, 2026
87 of 91 checks passed
@coderabbitai

coderabbitaiBot commented Jun 28, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 05c38935-6ec5-47da-a55b-3c09ee9d169d

📥 Commits

Reviewing files that changed from the base of the PR and between 2af92d4 and eafedae.

📒 Files selected for processing (1)
  • .github/workflows/template_native_build.yml

📝 Walkthrough

Walkthrough

The "Add Rust target" CI step is changed from a single rustup target add <triple> to a rustup target remove <triple> || true && rustup target add <triple> sequence, with inline comments documenting the rationale around stale cache states leaving rustup manifests inconsistent.

Changes

Rustup Target Installation Fix

Layer / File(s)Summary
Remove-then-add Rust target step
.github/workflows/template_native_build.yml
Replaces rustup target add with a remove (|| true) then add sequence; adds comments explaining that cached rustup manifests can claim a target is installed while rust-std artifacts are absent, notably for aarch64-pc-windows-msvc.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • FastLED/fbuild#760: Modifies the same template_native_build.yml Rust target setup logic, directly overlapping with this change.

Poem

🐇 A target once cached left the stdlib astray,
So the rabbit said "remove it first, then add today!"
With || true as a shield against failure's sting,
Remove then re-add — let the compiler sing!
No phantom installs shall fool our CI ring! 🎉

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/rustup-target-add-force-reinstall

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

zackees added a commit that referenced this pull request Jun 28, 2026
soldr#1006 Lane 2 retry after PR #783.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Triage

Development

Successfully merging this pull request may close these issues.

1 participant

@zackees