Skip to content

Commit 60a4ae3

Browse files
zackeesclaude
andauthored
chore(deps): adopt upstream soldr/zccache/setup-soldr updates (#253)
* chore(deps): adopt upstream soldr/zccache/setup-soldr updates - rust-toolchain.toml: add `profile = "minimal"` (matches soldr/zccache) - Cargo.toml: bump zccache-artifact 1.4.0 -> 1.8 (API-compatible per semver) - pyproject.toml: bump zccache>=1.2.13 -> >=1.8.2 - .github/workflows/*.yml (9 files): replace deprecated `target-cache: true` with `target-cache-profile: thin-v1` (modern setup-soldr input) - crates/fbuild-build/tests/flag_escaping_lint.rs: extend allowed_files to cover the post-LOC-split submodule files (methods.rs, build.rs, mod.rs); the recent board.rs / esp32 orchestrator.rs / stm32 orchestrator.rs splits moved canonical define code into renamed files but the lint's allowlist was never updated, breaking the test on main. `running-process-core` is intentionally NOT bumped: published 3.4.x dropped the `Containment` enum and `spawn_with_containment` method that fbuild's git-pinned rev relies on; moving off the pin requires refactoring fbuild-core::{subprocess,containment} onto `ContainedProcessGroup`. See #32. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * ci(workflows): revert target-cache-profile -> target-cache: true The modernized `target-cache-profile: thin-v1` input triggered `build_cache_mode=once`, which pre-populates the target directory before `soldr cargo build -p fbuild-cli -p fbuild-daemon` runs. setup-soldr emits its own warning ("setup-soldr detected a pre-populated shared target directory; a subsequent `soldr cargo build` using the same --target-dir may fail with a missing .rmeta error") and the follow-up build step then fails. ~40 board build jobs regressed on PR #253 because of this. The deprecated `target-cache: true` input still works in setup-soldr@v0 and matches the previously-passing main behavior. The deprecation is just a label — setup-soldr hasn't removed it. Keep using it until we investigate the correct combination of new inputs that doesn't trip the shared-target-dir limitation, in a separate task. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * ci(workflows): disable setup-soldr prebuild-deps (workaround upstream regression) The latest setup-soldr (v0 -> 33e221e via PR #140) defaults `prebuild-deps: cargo-chef` ON. cargo-chef pre-warms `target/deps/` before the user's `cargo build`, but on fbuild's CI the prebuild leaves the shared target directory in a state that conflicts with the follow-up `soldr cargo build -p fbuild-cli -p fbuild-daemon` step (missing .rmeta errors). setup-soldr itself emits a warning about this exact failure mode and exposes `prebuild-deps: none` as the documented escape hatch. Apply `prebuild-deps: none` everywhere we invoke setup-soldr (10 workflow files, 11 invocations including bench-205's two blocks). This is a stop-gap. The proper fix is upstream: either prebuild-deps should not corrupt the target dir when subsequent `cargo build -p` calls follow, or fbuild should switch to a separate target-dir for the daemon/cli build. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 2f7a132 commit 60a4ae3

16 files changed

Lines changed: 80 additions & 18 deletions

.github/workflows/acceptance-205.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ jobs:
5757
cache: true
5858
build-cache: true
5959
target-cache: true
60+
prebuild-deps: none
6061

6162
- name: Run ${{ matrix.gate }} acceptance gate
6263
run: |

.github/workflows/bench-205.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ jobs:
4141
cache: true
4242
build-cache: true
4343
target-cache: true
44+
prebuild-deps: none
4445

4546
- name: "Run ${{ matrix.bench }} (target: ${{ matrix.target }})"
4647
run: |
@@ -70,6 +71,7 @@ jobs:
7071
cache: true
7172
build-cache: true
7273
target-cache: true
74+
prebuild-deps: none
7375

7476
- name: Checkout FastLED
7577
uses: actions/checkout@v6

.github/workflows/check-macos.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ jobs:
2424
cache: true
2525
build-cache: true
2626
target-cache: true
27+
prebuild-deps: none
2728

2829
- name: Check
2930
shell: bash

.github/workflows/check-ubuntu.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ jobs:
2525
cache: true
2626
build-cache: true
2727
target-cache: true
28+
prebuild-deps: none
2829

2930
- name: Check
3031
run: soldr cargo check --workspace --all-targets

.github/workflows/check-windows.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ jobs:
2424
cache: true
2525
build-cache: true
2626
target-cache: true
27+
prebuild-deps: none
2728

2829
- name: Check
2930
shell: bash

.github/workflows/docs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ jobs:
2424
cache: true
2525
build-cache: true
2626
target-cache: true
27+
prebuild-deps: none
2728

2829
- name: Build docs
2930
run: soldr cargo doc --workspace --no-deps

.github/workflows/fmt.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,6 @@ jobs:
2222
cache: true
2323
build-cache: true
2424
target-cache: false
25+
prebuild-deps: none
2526
- name: Check formatting
2627
run: soldr cargo fmt --all -- --check

.github/workflows/msrv.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ jobs:
2222
cache: true
2323
build-cache: true
2424
target-cache: true
25+
prebuild-deps: none
2526
toolchain: 1.94.1
2627

2728
- name: Check MSRV

.github/workflows/template_build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ jobs:
4040
cache: true
4141
build-cache: true
4242
target-cache: true
43+
prebuild-deps: none
4344
cache-key-suffix: board-${{ inputs.env-name }}
4445

4546
- name: Reset zccache daemon after cache warm

.github/workflows/template_native_build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ jobs:
5959
cache: true
6060
build-cache: true
6161
target-cache: true
62+
prebuild-deps: none
6263
cache-key-suffix: native-${{ inputs.target }}
6364

6465
- uses: actions/setup-python@v6

0 commit comments

Comments
 (0)