fix(release): package only the construct binary#453
Merged
Conversation
PR #441 folded construct-mcp and every construct-adapter-* into the single construct binary, but the release workflow still listed them in BINS and built them with `-p`. The adapter/mcp crates are now libraries with no [[bin]], so `cargo build -p construct-mcp` produces no binary and the packaging step's `cp target/<triple>/release/construct-mcp` fails — which is why the v0.11.0 release build failed on all four targets. Build just `--bin construct` and ship that single binary in the tarball (adapters/mcp run as `construct __adapter <name>` / `construct __mcp`).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The v0.11.0 release build failed on all four targets (release run for tag
v0.11.0). The version-verify job passed, but everyBuild <target>job failed at the Package tarball + checksum step:so the Publish GitHub Release job was skipped and no release was published.
Cause
PR #441 folded
construct-mcpand allconstruct-adapter-*into the singleconstructbinary. Those crates are now libraries with no[[bin]], socargo build -p construct-mcpbuilds a lib and produces no binary — butrelease.ymlstill:BINS, and-p construct-mcp -p construct-adapter-*.The packaging loop then
cp'd binaries that don't exist → failure.Fix
BINS→ justconstruct.cargo build --release --locked --target <triple> --bin construct.construct __adapter <name>/construct __mcp— verified incrates/cli/src/main.rsandcrates/daemon/src/config.rs).docs/RELEASING.mdalready describes the single-binary tarball, so no doc change needed.Verification
cargo build --bin constructsucceeds and produces the binary locally (release only changes opt level, not target resolution). After this merges, I'll re-point thev0.11.0tag to the fixed commit to re-trigger the release (no release was published, so the tag is safe to move).CI/infra only — no user-visible surface, no recording.
🤖 Generated with Claude Code