Fix the beta channel file, and fail loudly when it is missing - #26
Merged
MyNamesEMurray merged 1 commit intoJul 27, 2026
Merged
Conversation
v3.8.1-beta.1 published as a fully green run with no update feed at all. Two
compounding causes, both worth fixing:
electron-builder takes its output channel from publish.channel, which defaults
to "latest", and does NOT derive it from the version's prerelease tag — even
though electron-updater derives its *read* channel exactly that way. So the
beta build wrote latest.yml while a beta install would go looking for
beta.yml. The build now passes -c.publish.channel=beta explicitly.
The failure was silent because softprops/action-gh-release only warns on a
glob that matches nothing ("Pattern 'dist/beta.yml' does not match any
files."), then reports success. Both workflows now assert their channel file
exists before publishing and dump dist/ on failure. The stable line had the
identical exposure: a release missing latest.yml would publish green and
silently strand every install on its current version.
Verified against the real releases: v3.8.0 carries latest.yml, so
--publish never does generate the feed and the stable line was never broken —
this was specific to the channel name.
The already-published v3.8.1-beta.1 installer works; only its auto-update does
not. Superseded by the next beta rather than patched in place.
Release-Skip: true
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SK871Ay2eiEzxTPorRufLP
MyNamesEMurray
enabled auto-merge (squash)
July 27, 2026 01:07
MyNamesEMurray
deleted the
claude/localvocal-transcription-accuracy-jxxefb
branch
July 27, 2026 01:08
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
v3.8.1-beta.1published as a fully green run with no update feed at all. This fixes the cause and closes the silent-failure mode that let it pass — on the stable line too, which had the identical exposure.Changes
The channel has to be named explicitly. electron-builder takes its output channel from
publish.channel(defaultlatest) and does not derive it from the version's prerelease tag — even though electron-updater derives its read channel exactly that way. So the beta build wrotelatest.ymlwhile a beta install goes looking forbeta.yml. The build now passes-c.publish.channel=beta.Both workflows now assert their channel file exists before publishing. The failure was invisible because
softprops/action-gh-releaseonly warns on a glob that matches nothing (Pattern 'dist/beta.yml' does not match any files.) and then reports success. Each workflow now fails with a clear message and dumpsdist/if the feed is absent.The stable line had the same exposure and gets the same guard: a release missing
latest.ymlwould publish green and silently strand every existing install on its current version. That's a worse bug than the one actually hit, and it was one glob typo away.Verification
Pattern 'dist/beta.yml' does not match any files., and the electron-builder output shows only the.exeand.blockmapbeing produced.latest.yml, so--publish neverdoes generate the feed and the stable line was never broken. This was specific to the channel name.npm test/npm run smokeunaffected.The real verification is the next beta run, which is the point of the guard — if
-c.publish.channel=betadoesn't do what I expect, the job now fails instead of publishing a hollow release.Risk & rollout
src/,public/, orelectron/changes.v3.8.1-beta.1installer works; only its auto-update doesn't (it polls abeta.ymlthat was never uploaded). Superseded by the next beta rather than patched in place.Release-Skip: true— no version bump for a CI-only change.Checklist
npm run smokepasses locally (or CI is green)main🤖 Generated with Claude Code
https://claude.ai/code/session_01SK871Ay2eiEzxTPorRufLP
Generated by Claude Code