Repository navigation
ci: release from main by workflow, with changelog, binaries, and GitHub Releases - #28
Merged
Merged
Conversation
…ub Releases Main becomes releasable by construction: ci now proves the crate packages, the npm bundle builds, and the CLI builds in release mode on every PR, and PR titles must be conventional commits so version and changelog can be derived from them. prepare-release, run by hand, derives the next version with git-cliff (or takes one), generates the CHANGELOG.md section, bumps every manifest, and lands the release commit and tag on main in one atomic push as the release GitHub App. If main moves during the run it rebuilds on the new head. release replaces publish-crates and publish-npm: on the tag it publishes crates.io and npm, builds CLI binaries for five targets, and creates the GitHub Release with the changelog section and the archives attached. cli/Cargo.toml carries binstall metadata pointing at those archives. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The live harnesses build BoringSSL, which needs a C++ toolchain the musl tools do not provide. glibc targets on the 22.04 runners give a 2.35 floor and a normal toolchain. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2 of 3 tasks
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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
Makes main releasable by construction and turns releases into two workflow runs.
CI (
ci.yml,pr-title.yml)cargo publish --dry-run, wasm bundle build +npm pack --dry-run, release build of the CLI.amannn/action-semantic-pull-request).prepare-release (manual dispatch, optional version)
CHANGELOG.mdsection, bumpsCargo.toml,cli/Cargo.toml(both spots),package.json,Cargo.lock.releaseenvironment for approval, then pusheschore(release): vX.Y.Z+ tag atomically as the release GitHub App. Rebuilds on the new head if main moved.release (on tag; replaces
publish-crates.ymlandpublish-npm.yml)build-binaries.yml) → GitHub Release with changelog notes and archives.cli/Cargo.tomlgains binstall metadata:cargo binstall --git https://github.com/skillsynchq/txcript txcript-cli.Also:
CHANGELOG.mdbackfilled for every version,homepage/bugsmetadata for the crates.io and npm pages, release skill rewritten.Setup required before the first run (repo settings)
RELEASE_APP_IDvariable andRELEASE_APP_KEYsecret; App added to the bypass list of both rulesets.releaseenvironment with a required reviewer.publish-npm.ymltorelease.yml.PR title,crates.io package (dry-run),npm package (dry-run),CLI release build.Test plan
git-cliff --bumped-versionon main → v0.13.0; section renders with PR linksbump-version.shandchangelog-insert.shtested locallybuild-binariesmatrix runs on this PR (triggered by the workflow file change)prepare-releaserun after setupSupersedes #27.
🤖 Generated with Claude Code