Skip to content

ci: let setup-soldr float soldr binary - #1003

Merged
zackees merged 3 commits into
mainfrom
fix/997-float-soldr
Jul 8, 2026
Merged

ci: let setup-soldr float soldr binary#1003
zackees merged 3 commits into
mainfrom
fix/997-float-soldr

Conversation

@zackees

@zackeeszackees commented Jul 7, 2026

Copy link
Copy Markdown
Member

Summary

  • Remove the explicit version: 0.8.0 input from every setup-soldr workflow step so setup-soldr controls the soldr binary version.
  • Move workflow refs from zackees/setup-soldr@v0.9.66 to zackees/setup-soldr@v0; v0 currently points at setup-soldr main, whose action default is soldr 0.8.0 without a repo-local binary pin.
  • Change the Windows soldr verification from an exact soldr 0.8.0 assertion to a smoke check that soldr --version returns a soldr version string.
  • Update release/template comments so v0.8.0 is described as the known-good floor/history, not the current CI pin.
  • Normalize the probe-rs install helper paths to satisfy the existing Dylint ban_std_pathbuf gate that was blocking this PR on current main.

Closes#997

Validation

  • gh api repos/zackees/setup-soldr/git/refs/tags/v0 --jq '.object.sha' matches gh api repos/zackees/setup-soldr/commits/main --jq '.sha' (18b1e0f546c53837320e472325ea695bab96f091).
  • rg -n -F 'zackees/setup-soldr@v0.9.66' .github ci returned no matches.
  • rg -n -F 'version: "0.8.0"' .github ci returned no matches.
  • rg -n -F 'test "$version" = "soldr' .github ci returned no matches.
  • rg -n 'PathBuf' crates/fbuild-deploy/src/probe_rs.rs returned no matches.
  • git diff --check
  • uv run --no-project python ci/render_workflows.py --check
  • soldr cargo fmt --check

Summary by CodeRabbit

  • Bug Fixes
    • Updated CI and release workflows to use the latest setup behavior, reducing reliance on a pinned tool version.
    • Relaxed one Windows validation check so it verifies the tool starts correctly rather than matching an exact version string.
  • Documentation
    • Refreshed workflow comments to better reflect the current build and release process.

@coderabbitai

coderabbitaiBot commented Jul 7, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

CI workflows across the repository are updated to use the floating zackees/setup-soldr@v0 action instead of the pinned @v0.9.66 with explicit version 0.8.0, with related comment updates and a Windows version-check adjustment. Separately, probe_rs.rs refactors several functions to return NormalizedPath instead of PathBuf.

Changes

Unpin setup-soldr across workflows

Layer / File(s)Summary
Core CI workflow unpinning
.github/workflows/acceptance-205.yml, .github/workflows/bench-205.yml, .github/workflows/check-macos.yml, .github/workflows/check-ubuntu.yml, .github/workflows/docs.yml, .github/workflows/dylint.yml, .github/workflows/fmt.yml, .github/workflows/msrv.yml, .github/workflows/update-data.yml
Switches zackees/setup-soldr from pinned @v0.9.66 with version: "0.8.0" to floating @v0, removing the version input.
Windows workflow unpinning and version verification
.github/workflows/check-windows.yml
Unpins setup-soldr to @v0 and changes the verify-soldr check from an exact version match to a soldr prefix check.
Template build workflow unpinning and release comments
.github/workflows/template_build.yml, .github/workflows/template_native_build.yml, .github/workflows/release-auto.yml, ci/publish.py
Unpins setup-soldr in template build workflows and updates comments describing macOS/Windows lane restoration and soldr-clang-shim release rationale.

Estimated code review effort: 2 (Simple) | ~10 minutes

probe_rs.rs NormalizedPath refactor

Layer / File(s)Summary
Switch probe_rs helpers to NormalizedPath
crates/fbuild-deploy/src/probe_rs.rs
Updates imports, staging directory helper, extraction/install function, and file-search helper to use and return NormalizedPath instead of PathBuf/Option<PathBuf>.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

  • FastLED/fbuild#993: Both PRs modify .github/workflows/check-windows.yml's zackees/setup-soldr usage and the soldr --version verification logic.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check nameStatusExplanationResolution
Out of Scope Changes check⚠️ Warningcrates/fbuild-deploy/src/probe_rs.rs adds an unrelated path-handling refactor that is outside the setup-soldr CI scope.Split the probe-rs path-handling refactor into a separate PR so this change stays focused on setup-soldr version pinning.
✅ Passed checks (4 passed)
Check nameStatusExplanation
Linked Issues check✅ PassedThe PR removes explicit soldr pinning and updates the Windows check to a version-smoke test, matching #997.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly matches the main CI change: letting setup-soldr control the soldr binary version instead of pinning it locally.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/997-float-soldr

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
zackees merged commit 67802fe into mainJul 8, 2026
100 of 101 checks passed
@zackees
zackees deleted the fix/997-float-soldr branch July 8, 2026 00:18
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.

change setup soldr so that it's no longer pinning the soldr binary

1 participant

@zackees