Skip to content

Automate the Release Process #2314

Closed
Closed
@dstufft

Description

@dstufft

This issue depends on #2310, #2312, and #2313.

It would be really great to automate the entire release process. Currently there are a bunch of manual steps and the issues #2310, #2312, and #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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    C: automationAutomated checks, CI etctype: maintenanceRelated to Development and Maintenance Processes

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions