[Twisted-Python] Request for new Twisted release?

Craig Rodrigues rodrigc at crodrigues.org
Mon Sep 28 10:25:03 MDT 2020


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

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://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> 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
>
> --
> Adi Roiban
> _______________________________________________
> 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/65a6e4e8/attachment.htm>


More information about the Twisted-Python mailing list