Skip to content

fix(ci): ship the DMG's signed staging bundle as the Sparkle enclosure - #966

Merged
github-actions[bot] merged 1 commit into
mainfrom
fix/sparkle-enclosure-signed-bundle
Aug 8, 2026
Merged

fix(ci): ship the DMG's signed staging bundle as the Sparkle enclosure#966
github-actions[bot] merged 1 commit into
mainfrom
fix/sparkle-enclosure-signed-bundle

Conversation

@Dumbris

@Dumbris Dumbris commented Aug 8, 2026

Copy link
Copy Markdown
Member

First finding of the Stage 1 RC dress rehearsal (v0.54.0-rc.1 prerelease run failed at 'Build Sparkle enclosure' with notarization status Invalid on both arches).

Root cause: the enclosure zipped SWIFT_APP_PATH — the raw swift-build output. The shippable bundle is the one create-dmg.sh stages (tray + core + certs) and signs with the Developer ID identity; SWIFT_APP_PATH never gets the core or that signature. Consequences: notarization Invalid, and had it passed, a Sparkle update would have installed a coreless app.

Fix: create-dmg.sh exports its staged signed bundle to signed-app-<arch>/mcpproxy.app (verified with codesign --verify --deep --strict at export); both prerelease.yml and release.yml enclosure steps consume that export and hard-fail if it's missing.

Verified: bash -n, both workflows YAML-parse. Real verification is the next RC tag — which is the point of the rehearsal.

Related #957

🤖 Generated with Claude Code

Related #957

The enclosure steps zipped SWIFT_APP_PATH — the raw swift-build output,
which has no core binary, no certs, and not the final Developer ID deep
signature (create-dmg.sh stages and signs a separate copy for the DMG).
Notarization of that zip failed ('Invalid') on the first RC, and a
Sparkle update built from it would have installed an app without a core.

create-dmg.sh now exports its staged, signed bundle to
signed-app-<arch>/mcpproxy.app after signing, and both workflows'
enclosure steps consume that export (hard-failing if absent). Caught by
the Stage 1 RC dress rehearsal (v0.54.0-rc.1), exactly as the rollout
plan intended.
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 8, 2026

Copy link
Copy Markdown

Deploying mcpproxy-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: e29a154
Status: ✅  Deploy successful!
Preview URL: https://fd0a271f.mcpproxy-docs.pages.dev
Branch Preview URL: https://fix-sparkle-enclosure-signed.mcpproxy-docs.pages.dev

View logs

@codecov-commenter

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@github-actions github-actions 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.

Release-pipeline fix caught by the RC dress rehearsal; verified by lint/yaml gates, exercised by the next RC tag.

@github-actions
github-actions Bot merged commit 0d7af50 into main Aug 8, 2026
35 checks passed
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.

2 participants