Repository navigation
Release workflow: notes from the changelog, publish only when the three builds pass - #13
Merged
Merged
Conversation
…op build on PRs
The release workflow had never passed in its current form (the last run,
for v2.0.0-beta1, failed on all three systems), and electron-builder
creates the GitHub release named "2.0.0" with no notes, with the three
builds racing to create it.
- A `draft` job creates the release as a draft before the builds, titled
with the CHANGELOG heading ("v 2.0.0 - Release (September 27th, 2026)")
and with that section as its notes plus a link to the changes since the
previous tag (scripts/release-notes.mjs, which fails when the section is
missing). Tags with a suffix (v2.0.0-beta1) become prereleases.
- The builds upload into that draft, and a `publish` job publishes it only
when the three builds pass.
- Pull requests that touch the desktop build run the same builds with
`--publish never`.
- Linux takes its icon from src-electron/assets/icon.png instead of
converting the macOS .icns, which failed in app-builder's icns decoder,
and is filed under Graphics.
AGENTS.md describes how to cut a release.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014zuyuq6TL2CGNE68a1rzaX
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
The macOS build ran out of memory in the Vite build of the renderer: Node gets a ~2 GB heap on those runners and the build needs more. Reproduced locally with --max-old-space-size=2048 (heap out of memory) and passes with 4096. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014zuyuq6TL2CGNE68a1rzaX
Owner
Author
|
Cloudflare Pages fails here, but not because of this PR. It failed the same way on #11 (already merged), and in both cases it finishes in under a second, before any build runs. That points to the Cloudflare Pages project settings, not the code. This PR does not touch the web build, and I can't see the Cloudflare logs or re-run the check from here. No fix exists in the repo yet; the cause is in the Pages project on the Cloudflare dashboard (the Generated by Claude Code |
This branch was successfully deployed
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.
Why
The Electron release workflow has never passed in its current form (the last run, for
v2.0.0-beta1, failed on Linux, macOS and Windows). On top of that, electron-builder creates the GitHub release named "2.0.0" with no notes, and the three builds race to create it. This gets the workflow ready to publish v2.0.0.What changes
draftjob: on av*tag, creates the GitHub release as a draft before the builds. Its title is the CHANGELOG heading (v 2.0.0 - Release (September 27th, 2026)) and its notes are that section as written, plus a link to the changes since the previous tag, the same format as the Beta 1 release.scripts/release-notes.mjsextracts them and fails if the section is missing. Tags with a suffix (v2.0.0-beta1) become prereleases.buildjobs: they upload into that draft (electron-builder reuses a draft with the same tag).publishjob: publishes the draft only when all three builds pass. A failed build leaves it unpublished.--publish never. This PR is the first of those runs.src-electron/assets/icon.pnginstead of being converted from the macOS.icns. That conversion crashed in app-builder's icns decoder. The app is also filed under Graphics.AGENTS.mddescribes how to cut a release. The Tauri workflow (build.yml) is left as is, as legacy.Checks
build:electronpluselectron-builder --linux AppImage deb --publish neverproducekarbonized-2.0.0.AppImageandkarbonized_2.0.0_amd64.deb. The asar holdsdist,dist-electronand the unpackedmcp-stdio.cjs. Before the icon fix, the Linux build failed on the icon.scripts/release-notes.mjsagainst the real CHANGELOG withv2.0.0,v2.0.0-beta3andv2.0.0-rc, and it fails with a message for a version with no section.🤖 Generated with Claude Code
https://claude.ai/code/session_014zuyuq6TL2CGNE68a1rzaX
Generated by Claude Code