Automate the Release Process
See original GitHub issueThis issue depends on https://github.com/pypa/pip/issues/2310, https://github.com/pypa/pip/issues/2312, and https://github.com/pypa/pip/issues/2313.
It would be really great to automate the entire release process. Currently there are a bunch of manual steps and the issues https://github.com/pypa/pip/issues/2310, https://github.com/pypa/pip/issues/2312, and https://github.com/pypa/pip/issues/2313 capture the details of automating those steps. However that still requires that someone with the keys to release installs the dependencies for doing a release and invokes the do-the-release
command. It’s possible that we consider that good enough and this issue should just be closed as won’t fix. However the openstack folks have what I think is a fairly nice solution, it essentially boils down to doing a release is as simple as git tag -s X.Y.Z && git push --tags
. From there on our their automation does everything else.
The biggest downside to this (besides the fact we have to run a server that does the automation) is that the person doing the release only signs the git tag. They will not be signing the artifacts that get uploaded to PyPI. We can have a key that lives on the automation server that signs the artifacts before we upload them. The biggest difference between that is one could make an argument that doesn’t hold the same level of guarantee as the release artifacts being signed by a person does. To be specific, this is about the gpg signatures that get uploaded to PyPI which is primarily used by people like Linux distributions to verifying the downloads from PyPI.
Issue Analytics
- State:
- Created 9 years ago
- Comments:16 (14 by maintainers)
Top GitHub Comments
Oh, I’m pushing the tag after uploading the release. (see last bullet) 😛
Done in https://github.com/pypa/get-pip/pull/85.
This is external to us, and contingent on CPython’s triage/review process which can change. Not worth doing this.
Alright. I’m gonna say that our release process is sufficiently automated. If folks want more automation, file a new issue! 😃