Ticket #2889 enhancement closed fixed

Opened 6 years ago

Last modified 18 months ago

Automate updating the downloads page and the front page when a new release happens

Reported by: radix Owned by: exarkun
Priority: normal Milestone: regular-releases
Component: release management Keywords:
Cc: thijs Branch:
Author: Launchpad Bug:

Description

That is we need to push changes to the wiki or have the wiki otherwise automatically be correct when we do a new release.

Attachments

twisted_release_macro.py Download (4.3 KB) - added by thijs 18 months ago.
ProjectVersion macro with md5 support

Change History

1

  Changed 6 years ago by radix

  • milestone set to twisted-7.0

2

  Changed 5 years ago by radix

  • milestone changed from twisted-8.0 to regular-releases

3

  Changed 2 years ago by <automation>

  • owner radix deleted

4

follow-ups: ↓ 5 ↓ 6   Changed 21 months ago by exarkun

I think #1751 took care of this for the Downloads page. The front page is another matter, because it also wants to place md5sums in the download links. This will require expanded support from the wiki macro used on Downloads.

5

in reply to: ↑ 4   Changed 18 months ago by thijs

  • cc thijs added

Replying to exarkun:

..from the wiki macro used on Downloads.

 This macro.

Changed 18 months ago by thijs

ProjectVersion macro with md5 support

6

in reply to: ↑ 4   Changed 18 months ago by thijs

  • keywords review added

Replying to exarkun:

I think #1751 took care of this for the Downloads page. The front page is another matter, because it also wants to place md5sums in the download links. This will require expanded support from the wiki macro used on Downloads.

Attached updated version of the macro adds support for md5.

7

follow-up: ↓ 8   Changed 18 months ago by exarkun

  • owner set to thijs
  • keywords review removed

I committed the updated version of the macro to lp:~twisted-dev/twisted-trac-integration/release-macro-md5sums (trac-plugins/twisted_release_macro.py). I started refactoring and adding unit tests, and got as far as testing the new md5 functionality and encountered a problem (which I don't think my refactoring introduced). The md5 sum can't actually be computed because the code tries to use its value before it is known. This can be seen in the failing unit test.

Thanks.

8

in reply to: ↑ 7   Changed 18 months ago by thijs

Replying to exarkun:

I committed the updated version of the macro to lp:~twisted-dev/twisted-trac-integration/release-macro-md5sums (trac-plugins/twisted_release_macro.py). I started refactoring and adding unit tests, and got as far as testing the new md5 functionality and encountered a problem (which I don't think my refactoring introduced). The md5 sum can't actually be computed because the code tries to use its value before it is known. This can be seen in the failing unit test. Thanks.

Yes the MD5 can only be computed if there's part of the filename available in the URL (just like you run the openssl md5 on a file). %(md5)s on it's own isn't supported. Should it throw a Trac error when trying to compute MD5 for a URL with a missing filename?

9

  Changed 18 months ago by exarkun

Should it throw a Trac error when trying to compute MD5 for a URL with a missing filename?

It should do whatever is normal for trac macros that fail, I suppose. I don't know what that is.

10

  Changed 18 months ago by thijs

  • owner changed from thijs to exarkun
  • keywords review added

I  added additional unit tests that verify the macro's working correctly.

11

  Changed 18 months ago by exarkun

  • keywords review removed
  • status changed from new to closed
  • resolution set to fixed

Thanks!

The code looks fine, and I've merged it into  lp:twisted-trac-integration.

The front page still has a couple problems though. None of them are due to this macro, but the macro doesn't fix the problems apart from ease of update, either.

  1. easy_install can install source packages and binary eggs. It cannot install msi files. The links on the front page to Windows binaries are msi files, so easy_install will not use them. It will use the source link instead (requiring a compiler, resulting in failure for most users).
  2. The md5 fragment is only verified by easy_install, so it serves no purpose of easy_install does not use these files.

The release process needs to produce binary eggs to support easy_install users. Once that is done, we can add links with md5 fragments attached.

So, I've updated the trac deployment with the latest version of the macro and updated the front page to use the macro, but deleted the md5 fragment from the msi files.

Note: See TracTickets for help on using tickets.