More flexible bugfix releases · Issue #13752 · python/mypy (original) (raw)
Currently the release manager for a feature release is expected to decide if one or more bugfix releases should be released and to publish them (e.g. 0.982 if 0.981 is the initial feature release). It was suggested in the 1.0 release planning meeting earlier this week that there's no compelling reason why this needs to be always performed by the release manager.
My proposal is that we could have at least one or two additional people (who already have commit access) who can publish bugfix releases. The minimal requirements to make this feasible would be to give them upload access to our PyPI project and to document the process.
Here's a suggested process:
- Anybody who has been onboarded to the process (this includes all release managers and others with PyPI upload access) can volunteer to publish a new bugfix release by leaving a comment on the release planning GitHub issue with the suggested list of fixes to include.
- If there are no concerns, the release can be uploaded the following day by the volunteer. (It's probably best to avoid publishing releases over the weekend, unless there is a big regression.)
- Anybody can suggest additional bug fixes to include, and the volunteer can decide whether to include them.
- If the changes seem significant enough, the RM for the feature release can choose to take over. This could happen if e.g. a separate blog post should be written. I'd expect this to be rare, but it can make sense occasionally if there are major regressions.
Open questions:
- Should we allow releasing bug fixes to older releases (e.g. releasing 1.0.2 if 1.1.0 is already out)?
- Should this be only limited to regressions, or could we release arbitrary (low-risk) bug fixes?
- Where should we document this process? In the wiki?
- Would there be a limit on how frequently we'd make bugfix releases? The above process would limit bugfix releases to at most one per day, but that is already much more frequent than what we've traditionally had (typically at most one bugfix release per feature release).
Rationale:
- This would make it possible for additional contributors to help with the release process, which has been a bottleneck. Currently all release managers are Dropbox employees so that they can access Dropbox internal codebases, which has been helpful in finding additional regressions. Publishing bugfix releases doesn't require access to internal codebases.
- If the main release manager is on vacation, for example, or otherwise busy, we have sometimes had regressions go unfixed for a long time, and this could help with this.
Please let me know what you think about this, and if you'd like to help with making bugfix releases.