Skip to content

build(afm): install bacon explicitly from source#51

Merged
P4suta merged 1 commit into
mainfrom
build/afm-bacon-explicit-source
May 31, 2026
Merged

build(afm): install bacon explicitly from source#51
P4suta merged 1 commit into
mainfrom
build/afm-bacon-explicit-source

Conversation

@P4suta

@P4suta P4suta commented May 31, 2026

Copy link
Copy Markdown
Owner

What

Replace cargo binstall --no-confirm --locked --root /usr/local bacon with cargo install --locked bacon in the cargo-tools Docker stage (own layer, comment updated with the rationale).

Why

bacon ships no prebuilt binaries — it is crates.io-source-only. The old line "worked" only via cargo-binstall's implicit compile fallback, the last link in binstall 1.19.x's default strategy chain. Verified in-image:

$ cargo-binstall --help
--strategies … Default value is "crate-meta-data,quick-install,compile".

afm never passes --strategies, so binstall silently compiled bacon from source. Making the source install explicit removes that hidden dependency on binstall's defaults: a future default-strategy change — or adopting aozora's fail-fast --strategies crate-meta-data,quick-install policy on the batch — would otherwise break the bacon layer with no warning. Mirrors aozora #55.

No behaviour change today — binstall already compiled bacon; this just makes it deliberate and visible.

Verification (local, Docker)

  • docker compose build dev → exit 0; log shows Compiling bacon v3.23.0Installed package bacon v3.23.0 (source build, not a prebuilt fetch).
  • docker compose run --rm dev bacon --versionbacon 3.23.0 (on PATH via the existing COPY --from=cargo-tools /usr/local/cargo/bin/).
  • pre-push just ci (19 steps) + just prop-deep green.

🤖 Generated with Claude Code

bacon ships no prebuilt binaries (crates.io-source-only), so it
previously resolved only via cargo-binstall's implicit `compile`
fallback — the last link in binstall 1.19.x's default strategy chain
(`crate-meta-data,quick-install,compile`). Make the source install
explicit with `cargo install --locked bacon` so the bacon layer no
longer depends on binstall's default strategies: a future default
change, or adopting aozora's fail-fast `--strategies` policy on the
batch, would otherwise silently break it. No behaviour change today —
binstall already compiled it. Mirrors aozora #55.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@P4suta P4suta enabled auto-merge (squash) May 31, 2026 02:11
@P4suta P4suta merged commit ee25a08 into main May 31, 2026
23 checks passed
@P4suta P4suta deleted the build/afm-bacon-explicit-source branch May 31, 2026 02:15
@P4suta P4suta restored the build/afm-bacon-explicit-source branch June 1, 2026 14:35
@P4suta P4suta deleted the build/afm-bacon-explicit-source branch June 1, 2026 15:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant