-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Maintenance suggestions to lower bar for releasing patches #243
Comments
This is an interesting changes, I have mixed feelings. I (personally) have certainly found manually writing the release notes very helpful as a way to organise what has been achieved and present it in a reasonable manner. My main reticence is towards one patch per bug. Does the increased number of release actually lead to uptake? Would most people who needed bleeding edge code simply not build off Will continue to think. |
You can still do this, and I've done that for kikuchipy
These changes will hopefully reduce the time between when a bug is identified and when it is fixed. I find that the effort to fix a bug (instead of adding new stuff) is lowered, since I have a clear and simple path to releasing it immediately. The hassle with cherry-picking is removed. I don't know if users use package versions with less bugs with this approach, but I would think so. I at least have a habit of updating packages every day, because I want the best performance (and to know whether something I've written breaks with updated dependencies). In general I don't notify people of features before they are released, because things could change before that. |
I've had a change of heart. I think (1), (3) and (4) are good. Would like some more information on how (2) ends up working in practice though. |
How (2) works in the latest release 0.5.7 of kikuchipy:
There are two manual post-release actions:
|
Okay, this seems to avoid my main problem which is that you make lots of accidental release of |
The tag is created after a person presses "Publish draft". A new release draft is only made after |
Mea Culpa, great. |
No problem, I could have explained it better in the first place. |
For example, we could have immediately released a patch release after merging each of the two issues marked as bugs in the 0.9 milestone (https://github.com/pyxem/orix/milestone/16?closed=1), by merging them directly with the |
I'm happy for this to go ahead :) |
Great, thanks for considering this, both! |
I'll get it done after the full 0.9 release. |
I plan to do these changes tomorrow. The currently open PRs have to rebase to |
The changes suggested here have now been implemented. Thanks for helping out, both! |
I've got some suggestions for simplifying and automating releases which I've used in kikuchipy for a couple months now and find to be very nice and efficient:
master
tomaster
(preferablymain
) anddevelop
which closely follow the Gitflow workflow branching model. Their specific roles in the kikuchipy repo:master
receives two types of PRs, (1) single PRs with patches that should be released right away, ideally one PR per patch release, and (2) single PRs fromdevelop
when a minor/major release is to be made;develop
receives two types of PRs, (1) the usual PRs of new functionality that should go into the next minor/major release, and (2) changes inmaster
following any release, ensuring that everything inmaster
is indevelop
as well.master
, provided that the release version has changed compared to the one available via PyPI. If the version has changed, the release draft is made with the correct title (orix 0.7.1), tag (v0.7.1) from the correct branch (master), and the release text has a fixed introduction (orix is an open-source Python library...) and the latest changes in the CHANGELOG.rst file. We can either publish this release as is, or make any modifications and then release.Note that I had a discussion with @ericpre when making this change in kikuchipy.
Introducing an extra branch and specific branch roles adds some
complicationscomplexity to development, but I believe the benefits make it worth it.The text was updated successfully, but these errors were encountered: