vrg-prepare-release¶
Installed as: vrg-prepare-release (Python console script)
Source: src/vergil_tooling/prepare_release.py
Automates release preparation for library repositories: creates a release branch, generates the changelog, creates a PR to main, and enables auto-merge.
Usage¶
Arguments¶
| Argument | Required | Description |
|---|---|---|
--issue |
Yes | GitHub issue number for release tracking |
Prerequisites¶
- Must be on the
developbranch - Working tree must be clean
- Local
developmust matchorigin/develop - Required tools:
gh,git-cliff
Ecosystem Detection¶
The tool auto-detects the project ecosystem to find the version:
| Ecosystem | Version Source |
|---|---|
| Python | pyproject.toml |
| Maven | pom.xml |
| Go | **/version.go |
| VERSION file | VERSION (fallback) |
Release Steps¶
- Precondition checks -- verifies branch, clean tree, and tool availability.
- Create release branch --
release/{version}from current develop HEAD. - Merge main -- incorporates prior release history to prevent
changelog conflicts. Uses
-X oursfor auto-resolution. - Generate changelog -- runs
git-cliffwith a boundary tag, validates the generated output. - Push branch -- pushes
release/{version}to origin. - Create PR -- creates a PR targeting
mainwithRef #{issue}linkage. - Enable auto-merge -- configures merge (not squash) strategy.
- Return to develop -- checks out develop after completion.
Exit Codes¶
| Code | Meaning |
|---|---|
| 0 | Release preparation complete |
| Non-zero | Precondition failure or tool error |