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 <a...@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@twistedmatrix.com > https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python >
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python