QUDA Release Procedure - lattice/quda GitHub Wiki
To release a new version of QUDA, perform the following steps in order:
-
Update
QUDA_VERSION_*
at the top of include/quda_constants.h.- We generally increment the subminor version number (e.g., 0.3.0 → 0.3.1) for bugfix releases and other minor releases without interface changes.
- We increment the minor version (e.g., 0.3.2 → 0.4.0) for more significant releases, especially those with interface changes that require users to modify their code.
- Someday we'll release 1.0.0, once QUDA is deemed sufficiently mature or we roll past 0.9.x, whichever comes first.
-
Update NEWS file with any relevant changes, new version number, and date.
- It's only necessary to call out changes that a user might notice, e.g.,
- "Improved domain wall performance by 10%"
- "Added new 'goFaster' member to InvertParam"
- "Fixed a bug that might induce the GPU fan to hum 'Daisy Bell'"
- but not:
- "Refactored the internal 'WidgetCuda' class hierarchy, affecting 10,000 lines of code"
- It's only necessary to call out changes that a user might notice, e.g.,
-
Update README file with new version number and date. Also check that the list of "known issues" is up to date.
-
Check that the parameters and volumes in the test programs are set to reasonable values that should work on most devices (e.g., set cuda_prec to single, and keep memory requirements under 512 MB).
-
Commit changes and push.
-
Tag the branch as follows (replacing "0.4.0" as appropriate):
git tag -a v0.4.0 -m 'Release 0.4.0' git push origin v0.4.0
-
Perform a
git archive release/x.y.z | tar xv --directory
into a new directory (replacing "x.y.z" with the relevant branch name). -
Remove the .gitignore file.
-
Rename the directory to quda-<version> (e.g., quda-0.4.0), and tar it up as quda-<version>.tar.gz.
-
Within the "gh-pages" branch of the "downloads" repo, copy the tarball to the "quda" subdirectory, and update index.html with a link. The updates should be visible at http://lattice.github.io/downloads after you push.
-
Update the QUDA webpage by editing index.html in the gh-pages branch of the main "quda" repo. At a minimum, change the version number, release date, and link to the tarball. Also replace the NEWS and README files in quda-latest/ with new versions.
-
Update the doxygen reference, if desired. See the instructions in the quda-ref repository.