Skip to content

fix(release): attach Sparkle enclosures in retry-sign-release - #1363

Merged
Dumbris merged 1 commit into
mainfrom
claude/autoupdater-release-update-e9bdc7
Sep 24, 2026
Merged

Dumbris merged 1 commit into
mainfrom
claude/autoupdater-release-update-e9bdc7

Conversation

@Dumbris

@Dumbris Dumbris commented Sep 24, 2026

Copy link
Copy Markdown
Member

Problem

Tray auto-update to v0.69.0 failed: "MCPProxy couldn't download the update." The live appcast pointed at mcpproxy-0.69.0-darwin-{arm64,amd64}.app.zip, but the v0.69.0 release didn't include those files, so the URL returned 404.

Root cause: v0.69.0 was published by retry-sign-release.yml. Its release job downloads artifacts with explicit patterns and left out sparkle-enclosure-*. release.yml doesn't hit this because its pattern-less download-artifact picks the enclosures up.

Fix

  • retry-sign-release.yml release job: download sparkle-enclosure-*. Asset floor 22 → 24.
  • retry-sign-release.yml sparkle-appcast job: upload the enclosures together with the feeds (--clobber), so a post_release_only run can't publish a feed without the file it points to.
  • Both workflows: the "Verify live feeds" step now also checks that each feed's enclosure URL downloads.

Remediation already applied

I downloaded both enclosures from release run 35988585835 and checked their length and EdDSA signature against the live feeds and the app's SUPublicEDKey. Then I uploaded them to v0.69.0. Both URLs now return 200. checksums.txt for v0.69.0 still doesn't list them; the cosign bundle signs that file, so I left it unchanged.

🤖 Generated with Claude Code

v0.69.0 was published by retry-sign-release.yml, whose release job never
downloaded the sparkle-enclosure-* artifacts. The appcast feeds went live
pointing at mcpproxy-0.69.0-darwin-{arm64,amd64}.app.zip, which 404'd, so
every tray auto-update failed with "couldn't download the update".

- release job: download sparkle-enclosure-* (MIN_ASSETS 22 -> 24)
- sparkle-appcast: upload the enclosures together with the feeds, so a
  post_release_only run can't publish a feed without its payload
- both workflows: live-feed verification now also checks each feed's
  enclosure URL is downloadable

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying mcpproxy-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: 51b9662
Status: ✅  Deploy successful!
Preview URL: https://a6682fc7.mcpproxy-docs.pages.dev
Branch Preview URL: https://claude-autoupdater-release-u.mcpproxy-docs.pages.dev

View logs

@Dumbris
Dumbris enabled auto-merge (squash) September 24, 2026 15:50
@Dumbris
Dumbris merged commit 638fa80 into main Sep 24, 2026
39 checks passed
@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!

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