Open
Description
As discussed in #1646 it would be helpful to automate the release process of the Errbot to free up some of the maintainers' resources and make the whole process more comfortable and faster.
Let me briefly outline my ideas how to do that:
- Enforce conventional commits. This enables the release process to automatically set the new release version number. Tool: amannn/action-semantic-pull-request. Enforces the correct title of the PR. The workflow fails in case the title is incorrect.
- Ensure to have the PR title and description used for the commits in the default branch. Otherwise it might be possible to create a commit which does not follow the semantic commit rules. Tool: GitHub project settings (General > PR).
- Ensure squashing the PR to not add non semantic commits accidentally. Tool: GitHub settings (General > PR)
- Use release-please to create a release, i.e. to tag the default branch with a new version number. Release Please creates a PR to do a release. So we can simply modify the
errbot/version.py
file and add the changelog. This way multiple changes can be integrated into one release too. So there is no need to release every single commit to PyPi. - Automate setting the release version in the
errbot/version.py
. Should be possible within the release workflow. - Let Release Please maintain the changelog. This, of course, requires good PR titles/descriptions. Might be enabled by default. Not sure.
- Add a workflow to automatically release to PyPi. Tool: GitHub workflow.
If you agree I will start working from top to bottom and create the necessary PRs. What do you think @sijis @nzlosh?