Repository navigation
feat(release): release the template through a release pull request - #24
Merged
Merged
Conversation
Same scriv.ini and fragment template as python-project-template, and the insert marker in place of the [Unreleased] heading. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A release created with the default Actions token raises no release event, so the release-on-merge workflow starts bump-v1 on the tag instead. Ported from python-project-template. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <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.
Every release of this template so far was published before its changelog section was on main, so
bump-v1refused it andv1stayed put: 1.0.0, 1.1.0 (first attempt) and 1.1.1. This moves the template to the release flow python-project-template uses for itself, where the changelog is cut inside the release pull request.What changes
changelog.d/(uvx --from scriv scriv create) instead of editingCHANGELOG.md.scriv.iniandTEMPLATE.mdmatch python-project-template.## [Unreleased]becomes the scriv insert marker. Generated projects are unaffected.workflow_dispatch) calls python-project-template's reusableprepare-release.yml@v1withversion-source: tags. It takes the next version from the latestvX.Y.Ztag, collects the fragments and opens a "Release vX.Y.Z" PR.release-on-merge.yml@v1. It tags the merge commit, creates the GitHub release and dispatchesbump-v1.ymlon the tag.bump-v1.ymlgains theworkflow_dispatchtrigger and the "newest final v1.X.Y tag only" guard from python-project-template. With this, the file matches python-project-template's apart from two comment lines.Generality-Labs/*in this repo's own workflows, so it won't re-pin the@v1refs.I chose calling the reusable workflows over copying them, so release fixes arrive here when python-project-template moves its
v1, the same as for its generated projects. Both repos are public, so no cross-repo access setting is needed. This repo already has the Actions PR setting on.Testing
autobump choice (copied fromprepare-release.yml) reads the fragment as Added + Changed and picks minor. The tag-based version comes out as 1.2.0, andscriv==1.8.0 collect --version 1.2.0writes a## [1.2.0] - 2026-10-07section under the marker and deletes the fragment.bump-v1's changelog check then passes for v1.2.0.zizmor --offline --persona=auditorreports only the existingself-repositorynote ontemplate-ci.yml; the two@v1refs carry inline ignores.Order
Publish v1.1.2 by hand before merging this. Its changelog section is already on main, so
bump-v1will accept it, and then the first automated release starts from v1.1.2. After merge, the first run of Prepare template release will propose 1.2.0 from this PR's fragment.🤖 Generated with Claude Code