Release automation should confirm the versions it installs
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/
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__
Changed in hypy: | |
importance: | Undecided → Medium |
milestone: | none → 0.9 |
status: | New → Confirmed |
assignee: | nobody → corydodt |
Changed in hypy: | |
status: | Confirmed → Fix Committed |
Changed in hypy: | |
status: | Fix Committed → Fix Released |