Skip to content

fix: finalize the update manifest the desktop release channel produces - #305

Merged
elkaix merged 2 commits into
mainfrom
fix/nightly-mac-manifest-channel
Sep 10, 2026
Merged

elkaix merged 2 commits into
mainfrom
fix/nightly-mac-manifest-channel

Conversation

@elkaix

@elkaix elkaix commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

[skip changeset] — release-workflow and build-script only; no user-perceivable CLI or app behavior change.

Summary

Every Nightly desktop run has failed since at least 2026-09-08, after notarization had already succeeded:

ENOENT: no such file or directory, open '.../apps/desktop/dist/latest-mac.yml'

finalize-mac-artifacts.ts always read latest-mac.yml, but electron-builder names the update manifest after the release channel — a Nightly build (0.11.1-nightly.304) writes nightly-mac.yml. That name was already resolved by the prepare job and consumed by the verify step (needs.prepare.outputs.mac_manifest); only the finalize step still hardcoded the stable name.

The DMG was notarized and stapled before the crash, so each failed run also left Desktop Nightly unpublished and kept the release-lane drift issue (#202) open.

Changes

  • finalizeMacArtifacts takes an optional manifestName, defaulting to latest-mac.yml, so the stable path and the local release-mac.ts caller are unchanged.
  • The workflow passes the channel manifest the prepare job already resolves.
  • The incomplete-metadata error names the manifest it actually read, instead of misreporting latest-mac.yml during a Nightly incident.

Test plan

  • New spec case finalizes a nightly-mac.yml fixture and asserts the rewritten checksum.
  • Mutation-proven: re-hardcoding DEFAULT_MAC_MANIFEST makes the new test fail with the exact CI error (ENOENT ... latest-mac.yml); restoring it passes 8/8.
  • typecheck (desktop, both tsconfigs) and lint (0 errors) pass.
  • Verified end-to-end by the next Nightly run.

The macOS finalize step always read latest-mac.yml, but electron-builder
names the manifest after the release channel, so a Nightly build writes
nightly-mac.yml. Every Nightly run failed with ENOENT after notarization
had already succeeded, leaving the channel unpublished.

Pass the channel manifest the prepare job already resolves.
@coderabbitai

coderabbitai Bot commented Sep 10, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 42 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available. Your 72 included PR review attempts over the past 7 days set your current allowance at 1 review per hour.

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Team

Run ID: e97c2c9a-a413-42f4-855a-a8005524a100

📥 Commits

Reviewing files that changed from the base of the PR and between 38a4cc1 and d079f09.

📒 Files selected for processing (3)
  • .github/workflows/desktop-release.yml
  • apps/desktop/scripts/finalize-mac-artifacts.ts
  • apps/desktop/tests/finalize-mac-artifacts.spec.ts

Comment @coderabbitai help to get the list of available commands.

@pkg-pr-new

pkg-pr-new Bot commented Sep 10, 2026

Copy link
Copy Markdown
pnpm dlx https://pkg.pr.new/@pymodel/pythinker-code@d079f09
npx https://pkg.pr.new/@pymodel/pythinker-code@d079f09

commit: d079f09

@elkaix
elkaix merged commit ffc51b8 into main Sep 10, 2026
24 checks passed
@elkaix
elkaix deleted the fix/nightly-mac-manifest-channel branch September 10, 2026 16:36
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