Skip to content

Add maintainer's subcommand to semi-automatically perform a release

Christian Dreher requested to merge feature/release-subcommand into main

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:

image

Example process after triggering the command:

image

Example fully auto-generated email after one click:

Screenshot_from_2022-12-11_20-18-14

Merge request reports