Add maintainer's subcommand to semi-automatically perform a release
This is a cleanup of !386 (closed)
This merge request basically automates the release process of Axii as much as possible via axii self maintain release
.
- Wizard opens
armarx_setup/__init__.py
for the maintainer to bump the version - Then, it opens the changelog
- Changelog is auto-generated from the corresponding milestone of the version the maintainer bumped to
- Subcommand will then perform the whole release automatically, including
- Merging main to stable
- Re-merging stable into main
- Updating testing
- Waiting for all pipelines to pass
- Pushing the release
- Two-click auto-generated email with all contributors and inferred co-maintainers
- Auto-copy-to-clipboard update notification to paste it into Slack immediately
This subcommand automatically commits version bumps and changelog changes, so this MR is a mess commit-wise. I tested it on a fork and it will be squashed here.
Screenshots
Example of the subcommand waiting for the pipeline to succeed:
Example process after triggering the command:
Example fully auto-generated email after one click: