Re: [Twisted-Python] Request for new Twisted release?

2020-10-12 Thread Craig Rodrigues
On Mon, Oct 12, 2020 at 11:36 AM Wilfredo Sánchez Vega <
wsanc...@wsanchez.net> wrote:

>
>   Craig: this does have to work around non-black output from incremental:
> https://github.com/twisted/klein/blob/master/release.py#L86
>
>
I don't need this klein workaround at the moment.  I can confirm that my
patches to incremental produce output
that is black-compatible, when I run my patched version of incremental in
the Twisted tree.
 I am going to move forward with merging my changes to incremental and
pushing out a new
incremental release.

--
Craig
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] Request for new Twisted release?

2020-10-12 Thread Wilfredo Sánchez Vega
On Sep 28, 2020, at 11:35 AM, Kyle Altendorf  wrote:
> 
> I guess this one is top-posting...  Anyways, I would personally default away 
> from CI-provider-specific solutions.  It seems like a command line tool ought 
> to suffice? 

  Certainly, it should first be possible to ship a release from the command 
line.  Then a CI solution is a mere convenience.

  I started doing this for Klein: 
https://github.com/twisted/klein/blob/master/release.py 


  (Not claiming this is the way to do it, just FYI.)

  Craig: this does have to work around non-black output from incremental: 
https://github.com/twisted/klein/blob/master/release.py#L86

-wsv

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] Request for new Twisted release?

2020-10-12 Thread Craig Rodrigues
On Sunday, October 4, 2020, Craig Rodrigues  wrote:

> On Sat, Oct 3, 2020 at 5:14 PM Glyph  wrote:
>
>>
>>
>>
>> Absolutely OK with me.  More than OK.  Please do this!  I can't wait
>> until we have the level of automation you've been working on for
>> *anybody* to cut the release.  I take it this means you'll officially be
>> the release manager for 20.10.0?
>>
>> Let me know if you need any more permission bits to make progress.
>>
>
>
> If it is OK with Amber and you, then yes, I can officially be the release
> manager for the next Twisted release,
> which will be 20.10.0.
>
> I need help with the following:
>
> *Incremental*
> I'd like to get these patches into Incremental and deploy a new
> Incremental release:
>
>- https://github.com/twisted/incremental/pull/60 , Make the output of
>Incremental compatible with black
>- https://github.com/twisted/incremental/pull/62 , Make dev, rc, post
>releases compatible with PEP440
>
>
> *PyPI*
>
> I used this GitHub Action to push to PyPI:
>
>   uses: pypa/gh-action-pypi-publish@v1.4.1
>   with:
> user: __token__
> password: ${{ secrets.pypi_password }}
> verbose: true
>
> I can confirm that this GitHub Action works, and it tries to push to PyPI:
>
> https://github.com/twisted/twisted/runs/1204812301?check_suite_focus=true
>
> It failed because the token does not exist.
>
> *What I need*
>
>1. a GitHub Secret named pypi_password , which contains a token which
>will allow me to upload to PyPI
>2. a GitHub Secret named test_pypi_password, which contains a token
>which will allow me to upload to test.pypi.org
>
>
> Thanks.
>




Glyph/Amber,

Can you help with this?

1.  Need to merge changes to github.com/twisted/incremental and push out a
new version.
2.  Need to generate a token at https://pypi.org/project/Twisted to permit
uploads
3.  Need to store token from 2. as a GitHub Secret named pypi_password in
github.com/twisted/twisted

I don’t have permissions to do these things.

—
Craig
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] Request for new Twisted release?

2020-10-04 Thread Craig Rodrigues
On Sat, Oct 3, 2020 at 5:14 PM Glyph  wrote:

>
>
>
> Absolutely OK with me.  More than OK.  Please do this!  I can't wait until
> we have the level of automation you've been working on for *anybody* to
> cut the release.  I take it this means you'll officially be the release
> manager for 20.10.0?
>
> Let me know if you need any more permission bits to make progress.
>


If it is OK with Amber and you, then yes, I can officially be the release
manager for the next Twisted release,
which will be 20.10.0.

I need help with the following:

*Incremental*
I'd like to get these patches into Incremental and deploy a new Incremental
release:

   - https://github.com/twisted/incremental/pull/60 , Make the output of
   Incremental compatible with black
   - https://github.com/twisted/incremental/pull/62 , Make dev, rc, post
   releases compatible with PEP440


*PyPI*

I used this GitHub Action to push to PyPI:

  uses: pypa/gh-action-pypi-publish@v1.4.1
  with:
user: __token__
password: ${{ secrets.pypi_password }}
verbose: true

I can confirm that this GitHub Action works, and it tries to push to PyPI:

https://github.com/twisted/twisted/runs/1204812301?check_suite_focus=true

It failed because the token does not exist.

*What I need*

   1. a GitHub Secret named pypi_password , which contains a token which
   will allow me to upload to PyPI
   2. a GitHub Secret named test_pypi_password, which contains a token
   which will allow me to upload to test.pypi.org


Thanks.

--
Craig


--
Craig
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] Request for new Twisted release?

2020-10-03 Thread Adi Roiban
On Sun, 4 Oct 2020 at 01:14, Glyph  wrote:

>
>
> On Oct 3, 2020, at 4:15 PM, Craig Rodrigues 
> wrote:
>
>
>
> On Wed, Sep 23, 2020 at 10:11 AM Glyph  wrote:
>
>>
>>
>> On Sep 22, 2020, at 3:42 PM, Craig Rodrigues 
>> wrote:
>>
>> Amber,
>>
>> Can we have a new Twisted release within the next two months, say in
>> Nov./Dec. timeframe, or
>> sooner if you'd like?
>>
>>
>> Given that Amber hasn't been super responsive lately, and that I firmly
>> believe it should be possible to take breaks from open source (particularly
>> amidst the, you know, global collapse of civilization and stuff), I will
>> take the opportunity point out yet again that
>> http://twisted.readthedocs.org/en/latest/core/development/policy/release-process.html
>>  documents
>> the release process and any sufficiently-motivated volunteer (with at least
>> a *bit* of history & trust within the community) can step forward and
>> receive all the permissions necessary to do all of these steps.
>>
>> I will personally volunteer to fill in the permissions gaps for any
>> interested parties, although I don't have much bandwidth for the release
>> itself.
>>
>> Amber, if you want to do it, go ahead and get started, I'm just saying we
>> don't need to put this on your shoulders :).
>>
>>
> I haven't heard any response from Amber, so I assume that Amber is busy
> (and I hope is OK during all the pandemic).
>
>
> I have heard from Amber occasionally and I believe she's healthy and safe,
> but if she wants to share more than that it's her own business :).  (Are
> *any* of us really "OK"?)
>
> If it is OK with Glyph and Amber, I can focus on pushing out the next
> Twisted release, and hopefully get help from Adi.
>
>
> Absolutely OK with me.  More than OK.  Please do this!  I can't wait until
> we have the level of automation you've been working on for *anybody* to
> cut the release.  I take it this means you'll officially be the release
> manager for 20.10.0?
>
> Let me know if you need any more permission bits to make progress.
>
> I'm working now with Adi to automate more of the release actions via
> GitHub Actions, and have gotten pretty far,
> such as being able to build wheels of Twisted on GitHub Actions for Linux,
> MacOS, and Windows.
>
>
> This is fantastic news!  I really appreciate all the effort you're putting
> in to simplify and streamline the CI situation.
>
>
>
I have a proof of concept PR - https://github.com/twisted/twisted/pull/1422

Read the Docs version of Twisted containing the full documentation -
narrative + API.

You can check it here - https://twisted--1422.org.readthedocs.build/en/1422/

With API link in the main page and at
https://twisted--1422.org.readthedocs.build/en/1422/api/index.html

---

I would say that for the first weeks after the release, we can have the
documentation only on Read The Docs with the read the docs theme...
but it can be confusing if we don't also update
https://twistedmatrix.com/documents/current/ docs.

Later we can enable the Twisted own theme.. if we want.

I think that many seach indexes are using
https://twistedmatrix.com/documents/current/api/twisted.html

So after the release we should decide if we  should mirror the docs from
Read The docs to the Twisted own VM... or create a reverse proxy, or create
a redirection.

--

All this Read the Docs hosting is implemented as it doesn't require any
extra permissions and is already integrated with the VCS.

We can automatically build the docs via GitHub actions, but the problem is
how we get them to the Twisted main server.
Allowing GitHub actions to push random stuff can be a security issue... and
implementing a restrictive SFTP server ono the Twisted main server requires
extra work.

-- 
Adi Roiban
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] Request for new Twisted release?

2020-10-03 Thread Glyph


> On Oct 3, 2020, at 4:15 PM, Craig Rodrigues  wrote:
> 
> 
> 
> On Wed, Sep 23, 2020 at 10:11 AM Glyph  > wrote:
> 
> 
>> On Sep 22, 2020, at 3:42 PM, Craig Rodrigues > > wrote:
>> 
>> Amber,
>> 
>> Can we have a new Twisted release within the next two months, say in 
>> Nov./Dec. timeframe, or
>> sooner if you'd like?
> 
> Given that Amber hasn't been super responsive lately, and that I firmly 
> believe it should be possible to take breaks from open source (particularly 
> amidst the, you know, global collapse of civilization and stuff), I will take 
> the opportunity point out yet again that 
> http://twisted.readthedocs.org/en/latest/core/development/policy/release-process.html
>  
> 
>  documents the release process and any sufficiently-motivated volunteer (with 
> at least a bit of history & trust within the community) can step forward and 
> receive all the permissions necessary to do all of these steps.
> 
> I will personally volunteer to fill in the permissions gaps for any 
> interested parties, although I don't have much bandwidth for the release 
> itself.
> 
> Amber, if you want to do it, go ahead and get started, I'm just saying we 
> don't need to put this on your shoulders :).
> 
> 
> I haven't heard any response from Amber, so I assume that Amber is busy (and 
> I hope is OK during all the pandemic).

I have heard from Amber occasionally and I believe she's healthy and safe, but 
if she wants to share more than that it's her own business :).  (Are any of us 
really "OK"?)

> If it is OK with Glyph and Amber, I can focus on pushing out the next Twisted 
> release, and hopefully get help from Adi.

Absolutely OK with me.  More than OK.  Please do this!  I can't wait until we 
have the level of automation you've been working on for anybody to cut the 
release.  I take it this means you'll officially be the release manager for 
20.10.0?

Let me know if you need any more permission bits to make progress.

> I'm working now with Adi to automate more of the release actions via GitHub 
> Actions, and have gotten pretty far,
> such as being able to build wheels of Twisted on GitHub Actions for Linux, 
> MacOS, and Windows.

This is fantastic news!  I really appreciate all the effort you're putting in 
to simplify and streamline the CI situation.

-g

> --
> Craig
> 
>  
> ___
> 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


Re: [Twisted-Python] Request for new Twisted release?

2020-10-03 Thread Craig Rodrigues
On Wed, Sep 23, 2020 at 10:11 AM Glyph  wrote:

>
>
> On Sep 22, 2020, at 3:42 PM, Craig Rodrigues 
> wrote:
>
> Amber,
>
> Can we have a new Twisted release within the next two months, say in
> Nov./Dec. timeframe, or
> sooner if you'd like?
>
>
> Given that Amber hasn't been super responsive lately, and that I firmly
> believe it should be possible to take breaks from open source (particularly
> amidst the, you know, global collapse of civilization and stuff), I will
> take the opportunity point out yet again that
> http://twisted.readthedocs.org/en/latest/core/development/policy/release-process.html
>  documents
> the release process and any sufficiently-motivated volunteer (with at least
> a *bit* of history & trust within the community) can step forward and
> receive all the permissions necessary to do all of these steps.
>
> I will personally volunteer to fill in the permissions gaps for any
> interested parties, although I don't have much bandwidth for the release
> itself.
>
> Amber, if you want to do it, go ahead and get started, I'm just saying we
> don't need to put this on your shoulders :).
>
>
I haven't heard any response from Amber, so I assume that Amber is busy
(and I hope is OK during all the pandemic).

If it is OK with Glyph and Amber, I can focus on pushing out the next
Twisted release, and hopefully get help from Adi.

I'm working now with Adi to automate more of the release actions via GitHub
Actions, and have gotten pretty far,
such as being able to build wheels of Twisted on GitHub Actions for Linux,
MacOS, and Windows.

--
Craig
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] Request for new Twisted release?

2020-09-28 Thread Kyle Altendorf
I guess this one is top-posting...  Anyways, I would personally default
away from CI-provider-specific solutions.  It seems like a command line
tool ought to suffice?  But maybe there's some security something or
other I'm missing.  I just see that we presently use four CI systems so
picking one and expecting to stick with it seems a bit naive. 

Presumably someone will (helpfully) find an issue with this but I've
copied this between a few projects. 

https://github.com/altendky/pyqt5-tools/blob/b0ecb9bf53ded53c28763d76f1e87d0b8180d2b8/twineontag.py


I know there are many other solutions. 

Since this topic is a bit more general than just PyPI uploads I've also
got a few comments about towncrier.  Per the link below I added
towncrier to my RTD builds so that PRs will render the newsfragments. 
Also, I started to vaguely think through some option for using towncrier
that would allow for creating a release by pushing a tag rather than
pulling a PR and doing various manual steps and modifying a generated
news file etc.  No answers yet, just a thing I'd like to get going at
some point.  Certainly `release by pushing a tag` is harder in bigger
projects but I don't have in mind yet a reason it can't happen. 

https://github.com/altendky/qtrio/blob/7a268c3fc14afe4cde7cbedd423d1f74f616a299/docs/source/conf.py#L133-L148


Cheers, 

-kyle 

On 2020-09-28 13:48, Glyph wrote:

> 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. 
> 
> -g
> 
> On Sep 28, 2020, at 9:25 AM, Craig Rodrigues  wrote: 
> 
> Adi, 
> 
> In this Twisted subprostlject, 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  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-Pyt

Re: [Twisted-Python] Request for new Twisted release?

2020-09-28 Thread Glyph
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 
.

-g

> On Sep 28, 2020, at 9:25 AM, Craig Rodrigues  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 
> 
> 
> 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  > 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

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


Re: [Twisted-Python] Request for new Twisted release?

2020-09-28 Thread Craig Rodrigues
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  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


Re: [Twisted-Python] Request for new Twisted release?

2020-09-24 Thread Adi Roiban
On Wed, 23 Sep 2020 at 18:11, Glyph  wrote:

>
>
> On Sep 22, 2020, at 3:42 PM, Craig Rodrigues 
> wrote:
>
> Amber,
>
> Can we have a new Twisted release within the next two months, say in
> Nov./Dec. timeframe, or
> sooner if you'd like?
>
>
> Given that Amber hasn't been super responsive lately, and that I firmly
> believe it should be possible to take breaks from open source (particularly
> amidst the, you know, global collapse of civilization and stuff), I will
> take the opportunity point out yet again that
> http://twisted.readthedocs.org/en/latest/core/development/policy/release-process.html
>  documents
> the release process and any sufficiently-motivated volunteer (with at least
> a *bit* of history & trust within the community) can step forward and
> receive all the permissions necessary to do all of these steps.
>
> I will personally volunteer to fill in the permissions gaps for any
> interested parties, although I don't have much bandwidth for the release
> itself.
>
> Amber, if you want to do it, go ahead and get started, I'm just saying we
> don't need to put this on your shoulders :).
>
>
Hi,

To me, the current release process seems complicated and requires manual
work and I think that the release document needs some update.

The release documentation starts with "Tarballs for Twisted as a whole, and
for each of its sub-projects".
Is that still the case?

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


Re: [Twisted-Python] Request for new Twisted release?

2020-09-23 Thread Glyph


> On Sep 22, 2020, at 3:42 PM, Craig Rodrigues  wrote:
> 
> Amber,
> 
> Can we have a new Twisted release within the next two months, say in 
> Nov./Dec. timeframe, or
> sooner if you'd like?

Given that Amber hasn't been super responsive lately, and that I firmly believe 
it should be possible to take breaks from open source (particularly amidst the, 
you know, global collapse of civilization and stuff), I will take the 
opportunity point out yet again that 
http://twisted.readthedocs.org/en/latest/core/development/policy/release-process.html
 

 documents the release process and any sufficiently-motivated volunteer (with 
at least a bit of history & trust within the community) can step forward and 
receive all the permissions necessary to do all of these steps.

I will personally volunteer to fill in the permissions gaps for any interested 
parties, although I don't have much bandwidth for the release itself.

Amber, if you want to do it, go ahead and get started, I'm just saying we don't 
need to put this on your shoulders :).

-glyph

___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python


[Twisted-Python] Request for new Twisted release?

2020-09-22 Thread Craig Rodrigues
Amber,

Can we have a new Twisted release within the next two months, say in
Nov./Dec. timeframe, or
sooner if you'd like?

In Twisted trunk, there are a lot of things that would be good to have in a
new release.

Here are some of the high order items:

*Python 3 Fixes*

   - twist dns --pyzone now works on Python 3   (I had a project 6 months
   ago where I would have liked to have this in a release)
   - twisted.web.twcgi now works on Python 3


*Python 3.8 Fixes*

   - all tests pass on all platforms on Python 3.8, including asyncio tests
   on Windows


*Python 3.9 Fixes*

   - all tests pass on Python 3.9.0rc2 (at least on Mac and Linux), (thanks
   to Michał Górny)


*Python 2.7*

   - Python 2.7 support has been dropped in trunk

*Black*

   - black code formatter has been integrated into the CI for Twisted, and
   all Twisted code is now formatted with Black (thanks to Tom Most)

*Mypy*

   - mypy is now run as part of Twisted CI and checks the code for every
   PR.  Type annotations compatible with Python 3.5+ are slowly being added to
   the codebase.


There are a lot of other small fixes and enhancements that people have
contributed since the last Twisted release.

I would like this new release to be the last release supporting Python 3.5,
so that Python 3.5 support can be removed in trunk, and PEP-526 style
variable annotations can be added in trunk.

Thanks for your consideration.

--
Craig
___
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python