feat: scripts/release-tag automation helper (#50) #53
Reference in New Issue
Block a user
Delete Branch "feat/issue-50-release-tag-helper"
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?
Closes #50. Refs #48 (implements the deferred automation).
What
scripts/release-tag— automate the documented release checklist with every safety gate built in.Gates / behavior
vMAJOR.MINOR.PATCH(validated before any git/network).master≠ remotemaster· HEAD not on remotemaster· existing local or remote tag of the same name.--skip-testsis an explicit opt-out that prints a warning.git tag -a) only — never lightweight.--push;--dry-runprints planned actions and changes nothing.--notes-file <path>supplies the annotation message.commit / tag / tests_run / tag_created / tag_pushed.RELEASE_TAG_REMOTE,RELEASE_TAG_TEST_CMD.Tests
tests/test_release_tag.py— 14 cases: valid dry-run · invalid version · dirty · non-master · master/remote mismatch · existing tag · missing notes-file · annotated-not-lightweight · no-push-without-flag · push-only-with-flag · notes-file message ·--skip-testswarns · default-runs-tests (fail blocks tag / pass tags). Each builds a throwaway repo with a local bare remote seeded by clone (no network, no pushing from this repo, no real tags) and stubs the test command viaRELEASE_TAG_TEST_CMD.Docs
scripts/release-tagreferenced fromdocs/llm-workflow-runbooks.md,skills/llm-project-workflow/SKILL.md, and therelease-tag.mdtemplate (script preferred; manual steps are the fallback).Checks
bash -n scripts/release-tagclean.git diff --checkclean; secret scan clean.Files changed
scripts/release-tag(new),tests/test_release_tag.py(new),docs/llm-workflow-runbooks.md,skills/llm-project-workflow/SKILL.md,skills/llm-project-workflow/templates/release-tag.md.Process
Isolated worktree:
./scripts/worktree-start feat/issue-50-release-tag-helper→branches/feat-issue-50-release-tag-helper.⚠️ Authored by me — do not self-merge. Needs review by another author.
c4e539c7f7to4e43347b2dApproved after reviewer-profile validation. Checks passed: bash -n scripts/release-tag; targeted release-tag tests; full test suite; git diff --check; changed-file secret scan. No real tags were created or pushed.