docs/adr/0064-balanced-auto-release.md
ADR 0064: Restore automatic patch releases on balanced runners
Date: 2026-10-24 Status: Proposed Amends: ADR 0063, release triggers.
Context
ADR 0063 removed the automatic patch-release lane. It is needed again, but GitHub-hosted and Blacksmith minutes are each capped at 3000 a month.
Decision
release.ymlruns on pushes tomainas well as manual dispatch on an existing stable tag. Pushes that only touch Markdown,docs/,website/,.impeccable/or issue templates, commits containing[skip release]andReleasecommits start no release.- A push builds the next unused patch version (
scripts/release-version.mjs), creates its tag through the API only after all four installer jobs pass, then publishes. An existing tag must point at the same commit. - One release runs at a time and an in-progress publish is never cancelled; a newer push replaces any queued run.
- Minutes are balanced: checks, Linux packaging and publishing run on GitHub's
ubuntu-latest(1x rate); Windows and both macOS jobs stay on Blacksmith, where GitHub would bill 2x and 10x.npm testruns once, on Linux; other platforms build, startup-check and package. - Platform, architecture, pin, signing, updater-integrity and artifact checks are unchanged.
Consequences
Every eligible merge to main costs one release build. Use [skip release]
for changes that should not ship.