Skip to content

release: publish fbuild 2.5.7 dependency cascade - #1244

Merged
zackees merged 3 commits into
mainfrom
fix/1239-dep-cascade
Aug 2, 2026
Merged

release: publish fbuild 2.5.7 dependency cascade#1244
zackees merged 3 commits into
mainfrom
fix/1239-dep-cascade

Conversation

@zackees

@zackees zackees commented Aug 2, 2026

Copy link
Copy Markdown
Member

Follow-up to #1239 and #1243.

#1243 merged the validated running-process 4.8.1 / zccache 1.13.1 dependency cascade. This follow-up completes the release and acceptance evidence that could not land before #1243 auto-merged:

  • bump Cargo and Python package versions together from 2.5.6 to 2.5.7, triggering the autonomous PyPI release after merge;
  • add a real embedded zccache compile test that proves a fresh cache reports a cold miss, then the identical compile reports a warm hit and materializes the object;
  • exercise the production hermetic compile environment and link the final running-process exported symbols.

Validation:

  • soldr cargo fmt --all -- --check
  • soldr cargo test -p fbuild-core --test dep_identity
  • soldr cargo test -p fbuild-build --test zccache_embedded_smoke (2/2 passed, including cold miss -> warm hit)
  • git diff --check

The prior #1243 commit passed the complete Windows, Linux, macOS, lint, documentation, and board-build matrix.

Summary by CodeRabbit

  • New Features

    • Added support for discovering installed compilers across Windows and Unix-like systems.
    • Added validation for embedded compilation and warm cache behavior.
  • Bug Fixes

    • Improved compiler installation error messaging.
  • Chores

    • Updated the project version to 2.5.7.

Bump fbuild to 2.5.7 so the autonomous release publishes the completed running-process 4.8.1 and zccache 1.13.1 cascade. Exercise a real embedded compile twice to prove cache materialization and exported-symbol linkage. Refs #1239.
@coderabbitai

coderabbitai Bot commented Aug 2, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@zackees, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 43 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 23ab8089-4a2d-4fab-a0f9-c1cc96f448fe

📥 Commits

Reviewing files that changed from the base of the PR and between cf0b11c and 63d518d.

📒 Files selected for processing (2)
  • crates/fbuild-build/Cargo.toml
  • crates/fbuild-build/tests/zccache_embedded_smoke.rs
📝 Walkthrough

Walkthrough

The project versions now use 2.5.7. A new embedded zccache smoke test discovers a C compiler and validates cold compilation, cache-hit restoration, and graceful shutdown.

Changes

Embedded zccache validation

Layer / File(s) Summary
Compiler discovery
crates/fbuild-build/tests/zccache_embedded_smoke.rs
The test searches PATH and Windows compiler locations for a supported C compiler.
Embedded compilation flow
crates/fbuild-build/tests/zccache_embedded_smoke.rs, Cargo.toml, pyproject.toml
The test validates cache-miss compilation, cache flushing, object removal, cache-hit materialization, exit status, and graceful shutdown. Project versions change to 2.5.7.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related issues

Possibly related PRs

Sequence Diagram(s)

sequenceDiagram
  participant SmokeTest
  participant CCompiler
  participant EmbeddedZccache
  participant ObjectFile
  SmokeTest->>CCompiler: cold compilation
  CCompiler->>EmbeddedZccache: compile request
  EmbeddedZccache->>ObjectFile: create object
  SmokeTest->>EmbeddedZccache: flush cache and remove object
  SmokeTest->>EmbeddedZccache: warm compilation
  EmbeddedZccache->>ObjectFile: recreate object from cache
  SmokeTest->>EmbeddedZccache: graceful shutdown
Loading
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the fbuild 2.5.7 release and dependency cascade, which are the primary changes in the pull request.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ 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/1239-dep-cascade

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.

Use fbuild_core::path::NormalizedPath for compiler discovery so the dependency cascade acceptance test satisfies the workspace PathBuf dylint. Refs #1239.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@crates/fbuild-build/tests/zccache_embedded_smoke.rs`:
- Around line 39-48: Replace the duplicated path-search iterator in the
compiler-name loop with calls to the existing on_path closure for each name.
Preserve the current return behavior by returning the first matching candidate
from on_path, keeping path resolution centralized and consistent.
- Line 9: Update the stale zccache version/revision comment associated with the
fbuild-build dependency to reflect revision
8cf6dd0ef5d6f2ff2980039290b9e498fb5a6b0e and version 1.13.1 instead of
1.12.17/5ee292f. If this change intentionally advances the dependency pin,
update the soldr _vender/zccache submodule to the matching revision.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 6c92b1bc-a45f-4512-bb94-53b060bf627e

📥 Commits

Reviewing files that changed from the base of the PR and between 5a42f4a and cf0b11c.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (3)
  • Cargo.toml
  • crates/fbuild-build/tests/zccache_embedded_smoke.rs
  • pyproject.toml

Comment thread crates/fbuild-build/tests/zccache_embedded_smoke.rs
Comment thread crates/fbuild-build/tests/zccache_embedded_smoke.rs
Centralize smoke-test compiler lookup and update the embedded zccache pin comment to the released 1.13.1 revision. Refs #1239.
@zackees
zackees merged commit c6f5e6c into main Aug 2, 2026
92 of 93 checks passed
@zackees
zackees deleted the fix/1239-dep-cascade branch August 2, 2026 07:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant