Cutting a release is a manual, multi-step process #32
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Reference
marvin8/xique#32
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Releasing xique today means hand-editing
pyproject.toml, remembering to regeneratepylock.toml, writing a changelog by hand, tagging, and pushing — with nothing recording what changed between releases.Wanted:
just release <level>recipe that automates the mechanics: changelog assembly, version bump, lock/pylock.tomlrefresh, tag, and push.Findings from recon:
just releaseis the template: compute next version, prepend a changelog entry (editable bullets + auto commit list with forge links), pause for human edit, commit,bump-my-version(commits + tags + refreshesuv.lock/pylock.tomlvia itspre_commit_hooks), push branch and tag.major.minor.patch(0.x) for now.bump-my-version~=1.5.1is the proven pin (yunjin).Plan of attack:
pyproject.toml: addbump-my-version~=1.5.1to the dev group and a[tool.bumpversion]block —current_version = "0.1.0", parse/serializemajor.minor.patch,commit/tagtrue, bare tag names ({new_version}, novprefix, matching house tag style), messagebump: version {current_version} → {new_version},pre_commit_hooksrefreshinguv sync,uv.lock, andpylock.toml, file rule for thepyproject.tomlversion line. Regeneratepylock.tomlin the same commit (dev dep added).justfile:release level— level required, validated against major/minor/patch (no default). Computes the next version with a bump dry-run, builds the changelog entry fromgit logsince the last tag (or all history when no tag exists), pauses for editing, commits the changelog, runs the real bump, pushes branch + tag. A--dry-runable design; nothing is cut until the human presses Enter.CHANGELOG.md: initial file with a header so the prepend pattern has an anchor.Branch:
feat/issue-32-release-justfileCommits:
:construction_worker: ci: add bump-my-version and the release justfile:memo: docs: document the release process in the READMEPR:
POST /repos/marvin8/xique/pulls(headfeat/issue-32-release-justfile, basemain,Closes #32).