Difference between revisions of "Creating a Release"
(→Create a final tarball for the release) |
(→Create a final tarball for the release) |
||
Line 39: | Line 39: | ||
** Extract MPICH taball | ** Extract MPICH taball | ||
** Create tarball of hydra directory. Use the same version number as MPICH. | ** Create tarball of hydra directory. Use the same version number as MPICH. | ||
+ | version=X.Y.Z && \ | ||
+ | tar xf mpich-${version}.tar.gz --strip-components=3 mpich-${version}/src/pm/hydra && \ | ||
+ | mv hydra hydra-${version} && \ | ||
+ | tar czf hydra-${version}.tar.gz hydra-${version} | ||
+ | |||
+ | (the release script should probably take care of the hydra tarball part too...) | ||
=== Update MPICH website === | === Update MPICH website === |
Revision as of 23:59, 30 January 2013
Creating the release has the following steps:
Check the Release Status
See the page https://trac.mpich.org/projects/mpich/roadmap for the relevant release to ensure that all pending bugs have been fixed.
Ensure that all testing has been performed
This includes both the results of the nightly tests and the special tests that are used to check that common configuration options continue to work and that the coding standards have been followed.
TODO: There was a comprehensive checklist of the prerequisites for a release. That needs to be placed here. Recent releases have not checked this list. What follows is a partial list
Check all tests. This includes
- The four major test suites (MPICH, C++, Intel, MPICH2)
- The special tests (See [[1]] ); these are important for testing that various options and compiler choices work
- The "random" tests in the nightly test should not indicate any problems; these are used to test correct handling of the configure options
- Ensure that the Debugger interface works;
(cd src/mpi/debugger ; make tvtest)
can be used as a start; a check withtotalview
should also be performed - Ensure that there are no performance artifacts, both for point-to-point and collective operations.
Update all necessary files and commit them to the trunk
- Update the version number in
maint/version.m4
. - Update the
CHANGES
file. You can find the commits that went in by going through the svn log information. - Update the
RELEASE_NOTES
file. This requires input from everyone, and generally requires asking each person (in person) if the current restrictions still apply, and if any new ones should be added. - Update the
README
if necessary.
Create a release branch and tag
- A branch is only created once for a complete release cycle, i.e.,
1.0.7rc1
,1.0.7rc2
,1.0.7
,1.0.7p1
, etc., will have just one branch. At what point a release branch is to be created is not decided yet (e.g., alpha releases, beta releases, RCs, full release), but we currently do that at the time of the RC release. This essentially means an svn-copy of the trunk to the branches/release directory. - If this is the first RC for this release cycle, create a branch. Branches are named as
mpich-X.Z.Y
, whereX
,Y
,Z
are the major, minor and revision version numbers. - If this is not the first RC, merge all required changes from the trunk to the release branch.
- A tag is created for every release from the branch. Tag is essentially an svn-copy of the branch to the tags/release directory. Tags are named as
mpich-X.Y.Z[ext]
, where[ext]
isa1
/a2
/.. (for alpha releases),rc1
/rc2
/.. (for RC releases), etc.
Create a final tarball for the release
- Get the
release.pl
script inmaint
from the trunk and run it as
./release.pl --source=[git_tag_for_current_version] --psource=[git_tag_for_previous_version] --version=[version] --git-repository=[path_to_git_repository]
- Create tarball for hydra
- Extract MPICH taball
- Create tarball of hydra directory. Use the same version number as MPICH.
version=X.Y.Z && \ tar xf mpich-${version}.tar.gz --strip-components=3 mpich-${version}/src/pm/hydra && \ mv hydra hydra-${version} && \ tar czf hydra-${version}.tar.gz hydra-${version}
(the release script should probably take care of the hydra tarball part too...)
Update MPICH website
- Create directory for tarballs
cd /mcs/mpich-tarballs
- Copy MPICH and Hydra tarballs into new directory
- Update website to reflect new release: downloads page, main page, and new page.
-
downloads/downloads.php
- For full release update documentation as well: README.txt, installguide.pdf, userguide.pdf and windevguide.pdf (with
mpich-[version]-
prefix)
-
Mark the milestone complete on TRAC
- If there are any pending tickets, move them to the next release.
Send out the release announcement to [email protected] and party! Yay!
The older version of these release instructions can be found here: http://www.mcs.anl.gov/research/projects/mpich2/olddeveloper/release.htm