Repository navigation
Conversation
- One version across core, web app, desktop and Docker image, set by scripts/version.mjs and checked in CI. - Release from a "Release vX.Y.Z" commit on the default branch or a vX.Y.Z tag. The CHANGELOG section for the version is required and becomes the release notes. - Installers build with --publish never, then publish to a draft that only goes public once every installer matches its update manifest locally and on GitHub. The Docker image is pushed after that, tagged with the version. - PRs that change the app need CHANGELOG notes or a "no release notes" label. - macOS builds are ad-hoc signed so downloads don't report "damaged". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner
Author
|
Superseded by the new PR against the default branch (this one closed when its base branch was deleted after #6 merged). |
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
Brings Cutawan's release process to Metachlorian. Stacked on #6 (which fixes the YAML that stopped every release run); merge that first.
core/,app/anddesktop/(and their lockfiles), set bynode scripts/version.mjs x.y.z, which also dates the[Unreleased]changelog section. CI fails if the files drift.Release vX.Y.Zcommit on the default branch, avX.Y.Ztag, or a manual run. The workflow refuses a version with noCHANGELOG.mdnotes or a tag that doesn't match.--publish neveron macOS (arm64), Windows and Linux, upload to a draft, and are verified against theirlatest*.ymlupdate manifests (size + SHA-512 locally, SHA-256 digests on GitHub) before the release goes public as Latest with the changelog section as notes.<version>,v<version>andlatest(previously tagged with the branch/tag ref).CHANGELOG.mdline or theno release noteslabel (now created).desktop/scripts/adhoc-sign-mac.mjs) so downloads don't open as "damaged".CONTRIBUTING.mddocuments release notes and releasing.Testing
version.mjs: sets all six files, dates the changelog, rejects mismatches and malformed versions.check-release-notes.mjs: passes with notes or the label, fails cleanly without notes.electron-builder --arm64 --publish never: app ad-hoc signed (codesign --verify --deep --strictpasses),latest-mac.ymlproduced.verify-release.mjs: passes real mac artifacts plus stand-in win/linux manifests; catches a tampered file and a missing manifest.actionlintclean on both workflows.Not yet exercised: the Windows/Linux builds and the full publish run, which only run on GitHub.
Not ported: Cutawan's in-app updater / "What's new", its packaged-app smoke check, and winget.
🤖 Generated with Claude Code