chore(release): add release tools to mage#254
Conversation
There was a problem hiding this comment.
Pull request overview
Adds first-class release/changelog tooling to the repo by introducing Mage targets for generating CHANGELOG.md entries (via git-cliff) and creating release tags from the changelog, along with the supporting docs and dependency tracking needed to automate releases later.
Changes:
- Add
mage changelogandmage releasetargets (draft changelog generation + tag creation fromCHANGELOG.md). - Introduce
git-cliffpinning via Cargo + Dependabot tracking, and addcliff.tomlconfig plus initialCHANGELOG.md. - Improve user/developer documentation around installation, changelog, and release process.
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/README.md | Documents that tools/ may include non-Go tools and explains the git-cliff pinning approach. |
| tools/git-cliff/src/lib.rs | Adds an intentionally-empty Rust crate to support Cargo-based version pinning. |
| tools/git-cliff/Cargo.toml | Pins git-cliff CLI version in a Dependabot/scanner-visible manifest. |
| README.md | Adds badges, updates install instructions to @latest, and links to the changelog. |
| pkg/app/azldev_cli/azldev.go | Adds package/API documentation for the CLI wiring entrypoint. |
| magefiles/magerelease/magerelease.go | Implements Mage release tooling (Changelog, Release) and helpers. |
| magefiles/magefile.go | Imports the new Mage release package to expose targets. |
| docs/developer/README.md | Links the new release how-to guide from the developer docs index. |
| docs/developer/how-to/releasing.md | Adds a step-by-step release process and changelog guidance. |
| cmd/azldev/azldev.go | Adds top-level command documentation suitable for pkg.go.dev. |
| cliff.toml | Adds git-cliff configuration for changelog generation. |
| CHANGELOG.md | Introduces an initial Keep-a-Changelog formatted changelog. |
| .github/dependabot.yml | Enables Dependabot updates for the Cargo-based git-cliff pin. |
fb1bc4b to
766bc71
Compare
| @@ -0,0 +1,48 @@ | |||
| # Changelog | |||
There was a problem hiding this comment.
Were this file's contents actually generated by git cliff? They look more massaged than that. Won't they get overwritten when git cliff gets run?
There was a problem hiding this comment.
No, it will leave hand-edited content alone.
There was a problem hiding this comment.
I did just update with a linter directive though.
Follow on PR will enable workflows to automate this against the protected main branch.