Opened 9 years ago

Closed 5 years ago

#2889 enhancement closed fixed (fixed)

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

Reported by: radix Owned by: Jean-Paul Calderone
Priority: normal Milestone: totally automated release infrastructure
Component: release management Keywords:
Cc: Thijs Triemstra Branch:
Author:

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 (1)

twisted_release_macro.py (4.3 KB) - added by Thijs Triemstra 5 years ago.
ProjectVersion macro with md5 support

Download all attachments as: .zip

Change History (12)

comment:1 Changed 9 years ago by radix

Milestone: twisted-7.0

comment:2 Changed 9 years ago by radix

Milestone: twisted-8.0regular-releases

comment:3 Changed 6 years ago by <automation>

Owner: radix deleted

comment:4 Changed 5 years ago by Jean-Paul Calderone

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.

comment:5 in reply to:  4 Changed 5 years ago by Thijs Triemstra

Cc: Thijs Triemstra added

Replying to exarkun:

..from the wiki macro used on Downloads.

This macro.

Changed 5 years ago by Thijs Triemstra

Attachment: twisted_release_macro.py added

ProjectVersion macro with md5 support

comment:6 in reply to:  4 Changed 5 years ago by Thijs Triemstra

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.

comment:7 Changed 5 years ago by Jean-Paul Calderone

Keywords: review removed
Owner: set to Thijs Triemstra

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.

comment:8 in reply to:  7 Changed 5 years ago by Thijs Triemstra

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?

comment:9 Changed 5 years ago by Jean-Paul Calderone

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.

comment:10 Changed 5 years ago by Thijs Triemstra

Keywords: review added
Owner: changed from Thijs Triemstra to Jean-Paul Calderone

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

comment:11 Changed 5 years ago by Jean-Paul Calderone

Keywords: review removed
Resolution: fixed
Status: newclosed

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.