Use nox to further automate our release mechanisms#7286
Use nox to further automate our release mechanisms#7286pradyunsg merged 5 commits intopypa:masterfrom
Conversation
| This will checkout the tag, generate the distribution files to be | ||
| uploaded and checkout the master branch again. | ||
| #. Upload the distribution files to PyPI using ``twine upload dist/*``. | ||
| #. Push all of the changes including the tag. |
There was a problem hiding this comment.
It might be the occasion to clear up the workflow due to the fact that we cannot push directly on master.
What I did for 19.3 was:
- creating a pull request after "Prepare for release using
nox -s prepare-release -- YY.N" (without pushing the tag) - wait for the CI and merge the PR with a merge commit no squash or rebase to keep the tagged commit
- only after the PR was merged did I push the matching tag and uploaded the new version to PyPI.
There was a problem hiding this comment.
It might be the occasion to clear up the workflow due to the fact that we cannot push directly on master.
Let's address that in a follow up -- I do nearly the same thing.
The only difference is that I disable the branch protections (so that I can merge the PR, before CI passes, by checking a checkbox to say "YES I KNOW WHAT I'M DOING") and then re-enable protections in the same minute.
The bugfix process also needs clarification, so there's that.
86a4cbc to
d0366d9
Compare
c521a6f to
fca613b
Compare
|
I'll merge this since I don't think the changes since @xavfernandez's approval are significant changes (mostly just a CI update I'd missed and addressing his comment). |
Not sure why I kept working on this past 2am. But hey, now we have our release process reduced significantly.
generate_*nox commands, since, well, there's no point in invoking them directly if everything is automated.tools/automation/release/__init__.pyfile, that contains helpers for release process automation.Other than that, the fact that 7150861 needed commits to be made to the branch, meant that I was completely confused while working on it and lost my work once. Anyway, I think this works, since I managed to get to a distribution using this two commands on my machine. :P