fix(ci): restore green main baseline (policy tests, docs links, dylint allowlist, fmt toolchain, SAMD USB defines) - #1084
Conversation
…osts The xwin CRT fixes changed template_native_build.yml's Windows MSVC branches to 'soldr --no-cache build' without updating the pyo3 policy test, failing Check Windows on every main commit since. The picotool combined-failure test asserted the Windows-only WinUSB hint on every platform, failing Check Ubuntu/macOS. Update the policy expectations and make format_failure platform-injectable so both hint variants are asserted on every host. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
ENVIRONMENT_TO_VCOM and BOARD_FINGERPRINTS are private; intra-doc links to them fail 'cargo doc -D warnings' (the Documentation job) from fbuild-cli and fbuild-serial. Plain code spans instead. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The module was split out of rp2040_pqt.rs (which is allowlisted) without carrying an allowlist entry, failing the Dylint job on every main commit. NormalizedPath migration remains tracked by the allowlist-shrink effort. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
setup-soldr installs the pinned toolchain with profile=minimal, which omits rustfmt; on toolchain-cache misses 'cargo fmt' silently fell back to the runner's newer stable rustfmt and failed with diffs the pinned 1.94.1 does not produce. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…y vid/pid #1061 sources USB_VID/USB_PID from the boards registry; complement it with the rest of PlatformIO's USB define surface: USB_PRODUCT/USB_MANUFACTURER from board data (gated on usb_product, quotes stripped, atmelsam arduino-common.py semantics), build.hwids parsing for project-local PlatformIO-format manifests (bundled snapshots stay hwids-free — guard extended), usb_product strings for the five bundled SAMD boards, and SAM fingerprint coverage so define changes invalidate cached artifacts. The SAMD CI healing itself ships via the registry (FastLED/boards#55). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Important Review skippedToo many files! This PR contains 227 files, which is 177 over the limit of 50. To get a review, narrow the scope: Upgrade to a paid plan to raise the limit. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (227)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
|
Handoff / remaining work to land this PR is documented in #1085 (two small fixes: |
|
Follow-up commit
Verified locally with Additional baseline finding: the pinned rustfmt still reports unrelated pre-existing diffs across multiple untouched files ( |
|
Pinned formatting baseline addressed in commit Local verification:
The unrelated local changes in |
Fixes the six failure classes that have been red on every recent main commit (triaged in #1083 (comment)):
template_native_build.ymltosoldr --no-cache buildwithout updating the pyo3 policy test's expected command lines. Test expectations updated; policy intent (host-interpreter suppression + soldr entry point) unchanged.format_failureis now platform-injectable and the test asserts both variants everywhere.ENVIRONMENT_TO_VCOM,BOARD_FINGERPRINTS) fromfbuild-cli/fbuild-serialfail-D warnings. Unlinked; full workspacecargo doc -D warningsnow passes locally.rp2040_picotool.rswas split out of the allowlistedrp2040_pqt.rswithout aban_std_pathbufallowlist entry. Entry added (sorted).profile=minimal(no rustfmt); on toolchain-cache missescargo fmtfell back to the runner's newer stable rustfmt and produced spurious diffs. The fmt job now installs the rustfmt component for the pinned toolchain.USB_VID not declaredin ArduinoCore-samd) — root cause is a refactor(usb): source compile identities from boards registry #1061 regression: the published FastLED/boards registry hasprimary_compile_identity: nullfor every hwids-only manifest (all five SAMD CI boards), because the registry extractor only honored explicitbuild.vid/build.pid. The registry-side fix is fix(extract): derive compile identity from hwids[0] when build.vid/pid absent boards#55 (hwids[0] fallback, PlatformIO parity) — CI heals once it publishes. This PR ships the compliant fbuild complement:USB_PRODUCT/USB_MANUFACTURERdefines from board data (atmelsamarduino-common.pysemantics),build.hwidsparsing for project-local manifests (bundled snapshots stay hwids-free — guard test extended),usb_productstrings for the five bundled SAMD boards, and SAM fingerprint coverage for the new defines. No VID/PID values are embedded in fbuild (essential rule holds).Verification: workspace
clippy -D warnings+fmt --checkclean;RUSTDOCFLAGS="-D warnings" cargo doc --workspaceclean; fbuild-config 185/0, fbuild-build-arm 199/0, fbuild-deploy 225/0, pyo3 policy test green. FastLED/boards#55 verified against the liveusb-profiles.jsonand canonical platform-atmelsam manifests.🤖 Generated with Claude Code