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

@zackees zackees 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

coderabbitai Bot 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 name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning crates/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 name Status Explanation
Linked Issues check ✅ Passed The PR removes explicit soldr pinning and updates the Windows check to a version-smoke test, matching #997.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The 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 main Jul 8, 2026
100 of 101 checks passed
@zackees zackees deleted the fix/997-float-soldr branch July 8, 2026 00:18
@fastled-project-sync fastled-project-sync Bot moved this to Triage in FastLED Tracker Jul 8, 2026
Sign up for free to 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