Release automation should confirm the versions it installs

Bug #333541 reported by Cory Dodt
2
Affects Status Importance Assigned to Milestone
Hypy
Fix Released
Medium
Cory Dodt

Bug Description

The Makefile which automates the release does roughly this:

1- upload to pypi
2- purge the system of all installed versions
3- install Hypy with easy_install
4- confirm installation by running tests

While this is great, we need a step 3.5:

3.5- confirm that the correct version of Hypy was fetched by easy_install

This will make sure that the remote server isn't giving us something cached, or that it failed to drop the package but didn't report any error during upload. If either of these happens, the package will install, the tests will pass, and it will prove nothing because we'll just be installing the previous version.

In order to do this, there must be a programmatic way to have Hypy tell us the version. In the last round of automation I had setup.py fetch the version from max(doc/release-notes/*.txt) but that won't get us to hypy.__version__.

I still like the idea of gating the version on what's in the release-notes directory, so I suggest that the release process itself should write a copyright.py file and commit it, since the release process is already committing files. It would look like:

author = "cory dodt"
releaseDate = "xxx"
releaseRevision = "xxmd5hash"
__version__ = "0.8.3"

(and in __init__.py)

from .copyright import __version__

Cory Dodt (corydodt)
Changed in hypy:
importance: Undecided → Medium
milestone: none → 0.9
status: New → Confirmed
assignee: nobody → corydodt
Cory Dodt (corydodt)
Changed in hypy:
status: Confirmed → Fix Committed
Cory Dodt (corydodt)
Changed in hypy:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.