-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Use nox to further automate our release mechanisms #7286
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
Conversation
#. Build the release artifacts using ``nox -s build-release -- YY.N``. | ||
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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__.py
file, 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