[Twisted-Python] Request for new Twisted release?

Glyph glyph at twistedmatrix.com
Mon Sep 28 11:48:39 MDT 2020


Yes, please, let's do this!  I have been trying to fix or enable automated releases for smaller Twisted-org projects as I have time, but Twisted itself is a bit too tricky for my level of capacity during the end times.

Kyle Altendorf has done quite a bit of work on this, so let's be sure to leverage that work and not to start over: https://twistedmatrix.com/trac/ticket/9531 <https://twistedmatrix.com/trac/ticket/9531>.

-g

> On Sep 28, 2020, at 9:25 AM, Craig Rodrigues <rodrigc at crodrigues.org> wrote:
> 
> Adi,
> 
> In this Twisted subproject, you implemented something which releases to Pypi upon creation of a tag:
> 
> https://github.com/twisted/twistedchecker/blob/master/.travis.yml#L23 <https://github.com/twisted/twistedchecker/blob/master/.travis.yml#L23>
> 
> Maybe we can do something similar for the main Twisted project.
> 
> GitHub Actions allows you to run a specific workflow in response to a GitHub Release event:
> 
> https://github.com/actions/create-release <https://github.com/actions/create-release>
> https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows#release <https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows#release>
> 
> So maybe we can implement your suggested steps in a new GitHub Actions workflow specific to doing a release.
> 
> --
> Craig
> 
> 
> On Thu, Sep 24, 2020 at 4:32 PM Adi Roiban <adi at roiban.ro <mailto:adi at roiban.ro>> wrote:
> 
> 
> Maybe the release can be simplified and automated:
> 
> * Build the source and binary wheel in GitHub actions as this can be done for Linux (Ubuntu), Windows and macOS.
> * Host the download source and wheel files only on PyPi and publish them automatically from GitHub action on a new tag is created.
> * Host the documentation only on the Read The Docs.
> * Hos the API documentation on Read The Docs - might need some hacking, but at release we can create an API docs package as an artifact which is then pulled when Read The Docs documentation is created and copied as extra HTML files.
> * Move Twisted blog to GitHub pages... or even read the docs with a separate theme like Crate [1] ... if the blog is still required.
> 
> ------
> 
> With the above implemented the release should look like:
> 
> * Each time the tests for a PR are executed, pydoctor will run and automatically create the API files as an artifact available for download.
> * Manually create a new branch in which the version is updated and the changelog/news/release note is created and all the news fragment files are removed/ . Have the branch reviewed and approved with all the tests passed. When the pydoctor tests are executed, the API docs are created.
> * The release branches can have a naming convention line 'release-20.0.0`. At first the release branch can have a release candidate version and a GitHub can automatically push the release to PyPi.
> * Manually send an email to Twisted mailing list to announce the pre-release.
> * Once the branch is merged, manually push a new tag
> * The new tag should trigger the GitHub action for publishing the release on PyPi
> * The new merge in master should trigger the Read The Docs build... which now will also include the static API docs pages.
> * Once the release is done, manually send a new email to the mailing list.
> 
> There are still many manual steps, but the only permissions required is commit to the repo.
> This will no longer use any of the Twisted own infrastructure.
> 
> [1] https://sphinx-themes.org/html/crate-docs-theme/crate/basic.html <https://sphinx-themes.org/html/crate-docs-theme/crate/basic.html>
> 
> -- 
> Adi Roiban
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com <mailto:Twisted-Python at twistedmatrix.com>
> https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python <https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python>
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
> https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/twisted-python/attachments/20200928/bffed467/attachment.htm>


More information about the Twisted-Python mailing list