Skip to content

Attach the Claude Desktop bundle to published releases - #12

Merged
lloydwatkin merged 2 commits into
mainfrom
release-workflow-mcpb-asset
Sep 19, 2026
Merged

lloydwatkin merged 2 commits into
mainfrom
release-workflow-mcpb-asset

Conversation

@lloydwatkin

Copy link
Copy Markdown
Member

🤖 The bundle was only ever a CI build artifact, so installing it meant digging through the Actions tab for a green run on the right commit. The release workflow now packs it and uploads activeadmin-mcp-X.Y.Z.mcpb as an asset on the release that produced it.

The release tag now versions the bundle too

The workflow writes the tag into mcpb/manifest.json and mcpb/package.json before packing, and commits those bumps back alongside version.rb.

The manual bump the README asked for had already been missed: the bundle sits at 0.0.3 against a 0.0.4 gem. Claude Desktop reads the manifest version to detect upgrades, so a stale one means colleagues are never offered the update. The gem and the bundle can no longer drift apart.

I left the two JSON files at 0.0.3 in this branch rather than hand-fixing them — the next release overwrites both from the tag, so bumping them now would just be undone.

Ordering

The proxy tests and the pack run before gem push, so a broken bundle stops the release rather than trailing an irreversible publish. The upload uses --clobber, so re-running the workflow on a release replaces the asset instead of failing.

Node 24

CI and the release workflow both move from Node 22 (Jod, now maintenance) to Node 24 (Krypton, current LTS). The bundle's own >=18.0.0 floor is unchanged — that governs the machines colleagues install on, not the machine that packs the file.

Verification

  • npm test in mcpb/ on a real node:24 container (v24.21.0): 13 pass, 0 fail.
  • npx @anthropic-ai/mcpb pack . ../activeadmin-mcp-1.2.3.mcpb on Node 24: writes the file at the explicit versioned path (2,933 bytes, 3 files).
  • The sed rewrites run against copies of the real manifest.json and package.json under GNU sed in ubuntu:24.04 — the leading quote in the pattern keeps them off manifest_version.
  • Workflow YAML parses; step order confirmed.

Not verified: the workflow end to end. gh release upload can't be rehearsed without cutting a release, so that step is the riskiest line here. If it fails the gem is already published and the job needs re-running — which --clobber makes safe.

🤖 Generated with Claude Code

lloydwatkin and others added 2 commits September 19, 2026 10:03
The bundle was only ever a CI build artifact, so installing it meant
digging through the Actions tab for a green run on the right commit. The
release workflow now packs it and uploads activeadmin-mcp-X.Y.Z.mcpb as
an asset on the release that produced it.

The release tag becomes the source of truth for the bundle version too:
the workflow writes it into mcpb/manifest.json and mcpb/package.json
before packing and commits the bump back alongside version.rb. The
manual bump the README asked for had already been missed once — the
bundle sat at 0.0.3 against a 0.0.4 gem — and Claude Desktop reads the
manifest version to detect upgrades, so a stale one means colleagues are
never offered the update.

The proxy tests and the pack run before the gem is pushed, so a broken
bundle stops the release rather than trailing a published gem, and the
upload uses --clobber so re-running the workflow on a release replaces
the asset instead of failing.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Node 22 (Jod) has moved to maintenance. Node 24 (Krypton) is the current
LTS, so CI and the release workflow both pack the bundle on it. The
proxy tests pass unchanged on 24.21.0.

The bundle's own floor stays at Node 18: that governs the machines
colleagues install on, not the machine that packs the file.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@lloydwatkin
lloydwatkin merged commit f823478 into main Sep 19, 2026
3 checks passed
@lloydwatkin
lloydwatkin deleted the release-workflow-mcpb-asset branch September 19, 2026 09:20
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