Skip to content

fix(release): package only the construct binary#453

Merged
edwin-zvs merged 1 commit into
mainfrom
fix-release-single-binary-packaging
Jun 23, 2026
Merged

fix(release): package only the construct binary#453
edwin-zvs merged 1 commit into
mainfrom
fix-release-single-binary-packaging

Conversation

@edwin-zvs

Copy link
Copy Markdown
Contributor

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 every Build <target> job failed at the Package tarball + checksum step:

cp: cannot stat 'target/<triple>/release/construct-mcp': No such file or directory

so the Publish GitHub Release job was skipped and no release was published.

Cause

PR #441 folded construct-mcp and all construct-adapter-* into the single construct binary. Those crates are now libraries with no [[bin]], so cargo build -p construct-mcp builds a lib and produces no binary — but release.yml still:

  • listed all seven binaries in BINS, and
  • built them with -p construct-mcp -p construct-adapter-*.

The packaging loop then cp'd binaries that don't exist → failure.

Fix

  • BINS → just construct.
  • Build step → cargo build --release --locked --target <triple> --bin construct.
  • Updated the stale comment (adapters/MCP now run as construct __adapter <name> / construct __mcp — verified in crates/cli/src/main.rs and crates/daemon/src/config.rs).

docs/RELEASING.md already describes the single-binary tarball, so no doc change needed.

Verification

cargo build --bin construct succeeds and produces the binary locally (release only changes opt level, not target resolution). After this merges, I'll re-point the v0.11.0 tag 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

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`).
@edwin-zvs
edwin-zvs merged commit 05a7b33 into main Jun 23, 2026
1 of 2 checks passed
@edwin-zvs
edwin-zvs deleted the fix-release-single-binary-packaging branch June 23, 2026 13:56
@edwin-zvs edwin-zvs mentioned this pull request Jun 23, 2026
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