question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Automate the Release Process

See original GitHub issue

This 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:closed
  • Created 9 years ago
  • Comments:16 (14 by maintainers)

github_iconTop GitHub Comments

5reactions
pradyunsgcommented, Nov 4, 2019

Oh, I’m pushing the tag after uploading the release. (see last bullet) 😛

0reactions
pradyunsgcommented, Oct 22, 2021

get-pip.py update-and-push

Done in https://github.com/pypa/get-pip/pull/85.

ensurepip update-and-PR

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! 😃

Read more comments on GitHub >

github_iconTop Results From Across the Web

Continuous Delivery - Automating the Release Process
Continuous delivery makes it possible to release new features quickly and reliably. It provides fast feedback to developers. The software is ...
Read more >
3 Steps for Automating Software Release Management
Step 1: Do We Have a New Release? Has It Passed Staging? · Step 2: What Is the Status of the Software Currently...
Read more >
Top 10 Benefits of Automated Release Management
Automated release management is an essential aspect of every DevOps strategy. Release management is the process of planning and working ...
Read more >
Application-release automation - Wikipedia
Application-release automation (ARA) refers to the process of packaging and deploying an application or update of an application from development, ...
Read more >
Release Management: From Application Release Automation ...
Release Management is the process by which software applications and updates are planned and deployed through a tiered series of ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found