Opened 7 years ago

Closed 3 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: exarkun
Priority: normal Milestone: totally automated release infrastructure
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 (1)

twisted_release_macro.py (4.3 KB) - added by thijs 3 years ago.
ProjectVersion macro with md5 support

Download all attachments as: .zip

Change History (12)

comment:1 Changed 7 years ago by radix

  • Milestone set to twisted-7.0

comment:2 Changed 6 years ago by radix

  • Milestone changed from twisted-8.0 to regular-releases

comment:3 Changed 4 years ago by <automation>

  • Owner radix deleted

comment:4 follow-ups: Changed 3 years 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.

comment:5 in reply to: ↑ 4 Changed 3 years ago by thijs

  • Cc thijs added

Replying to exarkun:

..from the wiki macro used on Downloads.

This macro.

Changed 3 years ago by thijs

ProjectVersion macro with md5 support

comment:6 in reply to: ↑ 4 Changed 3 years 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.

comment:7 follow-up: Changed 3 years ago by exarkun

  • Keywords review removed
  • Owner set to thijs

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 3 years 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?

comment:9 Changed 3 years 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.

comment:10 Changed 3 years ago by thijs

  • Keywords review added
  • Owner changed from thijs to exarkun

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

comment:11 Changed 3 years ago by exarkun

  • Keywords review removed
  • Resolution set to fixed
  • Status changed from new to closed

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.