Hi
I just want to start a constructive feedback about the latest Ansible release process.
The last 3 major releases, our user experience was not quite well and we rolled back.
It makes use feel scary about upgrading to major releases, but on the other hand, we all like the new modules and features of new releases. And I guess we are not alone with this feelings. So I wanted to ask how Ansible Inc can improve the release process. I want to make 3 proposals, how the release process can be improved.
1. Plan a release? Let us know!
We would like to test new major releases but didn’t had a change to test 1.8 before the release because we didn’t knew when it will be released. If you have made an announcment here like: “Please test it now for release!” That would be great. A even better approach would be tagging an RC, see below.
2. Release branch for major releases only
The current Ansible git branching model looks weird. I do not understand why you make a branch for every release, especially minor release. It looks to me, you are trying to adopt the “linux kernel git workflow” but doing it not quite right.
My suggestion is:
- make a branch only for major release e.g. “1.7.x” and make a tag on that commit e.g. “v1.7.0”
- only bug fixes get into this release branch, after some commits (or every commit) you tag a minor release. e.g. “v1.7.1”
- once you have new major release like e.g. v1.8.0 you will deprecate the 1.7.x branch (or alternatively, make it an LTS release)
This workflow is nice and clean.
3. GitHub PR Release Labels
Currently we only see labels like prio 1, prio 2, prio 3. But we have no clue if and when the PR will get merged It would be great if you could label a PR like “1.9.” so we know, it is planned for 1.9 release to be merged in. An advantage would be, you will also get a burn down chart (and we also see an estimate release date).
That’s it. To be clear, we are not saying your release process is bad. We just want to improve it and to make Ansible releases a breeze.
Thanks for your understanding.
Yours
René