chore(release): add release workflows#255
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds an automated release/changelog flow for azldev, centered around Mage targets and GitHub Actions workflows, and introduces a pinned git-cliff version (via Cargo) to keep changelog generation reproducible and updatable by Dependabot.
Changes:
- Add Mage release tooling (
mage changelog,mage release) and supporting docs for cutting releases. - Introduce GitHub Actions workflows to prepare a release branch (draft changelog) and to tag/push releases from
main. - Add changelog infrastructure (
cliff.toml,CHANGELOG.md) plus a Cargo-basedgit-cliffversion pin and Dependabot cargo updates.
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/README.md | Documents that tools/git-cliff is non-Go and pinned via Cargo for scanners/Dependabot. |
| tools/git-cliff/src/lib.rs | Empty Rust crate stub to support Cargo manifest pinning. |
| tools/git-cliff/Cargo.toml | Pins git-cliff CLI version for CI/local install hints and Dependabot tracking. |
| README.md | Adds badges, improves install instructions (@latest), and links to changelog. |
| pkg/app/azldev_cli/azldev.go | Adds package/function documentation for the CLI entry wiring. |
| magefiles/magerelease/magerelease.go | Introduces Changelog and Release Mage targets for drafting changelog and tagging releases. |
| magefiles/magefile.go | Registers the new magerelease Mage imports/targets. |
| docs/developer/README.md | Adds link to the new release how-to guide. |
| docs/developer/how-to/releasing.md | New developer guide describing the manual + automated release process. |
| cmd/azldev/azldev.go | Adds top-level command doc comment for pkg.go.dev rendering and install guidance. |
| cliff.toml | Adds git-cliff configuration for Keep a Changelog formatted output from Conventional Commits. |
| CHANGELOG.md | Adds initial changelog content and establishes Keep a Changelog format. |
| .github/workflows/release.yml | Push-to-main workflow that runs mage release and pushes a new tag when needed. |
| .github/workflows/prepare-release.yml | Manually-triggered workflow that installs pinned git-cliff, runs mage changelog, and pushes release/vX.Y.Z branch. |
| .github/dependabot.yml | Adds cargo ecosystem updates for the tools/git-cliff pin. |
1534929 to
ec270a4
Compare
b122aec to
129859f
Compare
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
0532ac4 to
bb6a46f
Compare
| # happens afterwards in the "Release" workflow. See | ||
| # docs/developer/how-to/releasing.md. | ||
| on: | ||
| workflow_dispatch: |
There was a problem hiding this comment.
Can you remind me who is allowed to run this?
There was a problem hiding this comment.
Need write perms, and to be in the collaborator group or better.
I wasn't too worried about this, since all it can do is create a branch, you still need to make the PR, get it approved, and merge it.
There was a problem hiding this comment.
There are ways to filter in the workflow itself if needed.
Builds on top of #254 to add workflows.