Hi Andrew, That all looks good.
No big deal and not sure where the SUF_CELLML_API etc variables will be used, but given the use of 1_0 would imply the 1.0 branch is the "branch" part of the SUF_ variables necessary? and if we're talking about file name suffixes, I prefer the suffix "-1.0" :-) David. Andrew Miller wrote: > Hi all, > > I have been codifying the recent discussions on team-cellml into a shell > script which can be used to control the build process. This shell script > will be sourced into the scripts used launch automated builds, and also > into the scripts which package snapshots and put them onto the FTP > server in the snapshot directory. > > I propose the following process for releases: > 1) Any major outstanding bugs on the trunk are fixed, and the latest > snapshot is tested. > 2) The trunk directory in Subversion is copied to a > branches/versionnumber subdirectory in the relevant Suversion tree, with > svn cp. > 3) The branch configuration script (below) is updated specify the new > versions (this implies there will only ever be one branch open at the > same time as the trunk). > 4) Automated builds (which also run the unit tests) with BRANCH=yes are > enabled in cron, in addition to the standard non-branch builds. > 5) The documentation on the branch is updated to specify the version > number as being a stable version, instead of the text on the trunk, > which claims the code is an unstable trunk release. > 6) Snapshots are also put out periodically, by running the snapshot > release scripts with BRANCH=yes. The filename for these snapshots will > have the date on them, as with the other builds, but will also have the > suffix "branch" followed by the name of the branch (with _ replacing . > in the version number). As with other snapshots, these releases will > automatically be put on the FTP server. > 7) Snapshots will be put through an informal functional tests. Any > community feedback on snapshots will also be looked into. Any resulting > patches will be applied to the trunk, and if the bug is serious enough, > and the patch worked out properly on the trunk, it will also be applied > to the branch. > 8) When a snapshot which passes the functional tests has been created, > the snapshot will be renamed (but not modified), and put into the > applicable Plone software centre as a release candidates. Notifications > of the release candidate will be sent to [EMAIL PROTECTED] > 9) Should any bugs in the release candidate by the community be > reported, they will be looked into, and any resulting patch will be > applied to the trunk. If the bug is serious enough, it will be put onto > the branch, and the process will go back to step 7. > 10) The CellML team will discuss and vote on whether to release the > release candidate at the next CellML meeting. If the vote is in favour > of a release, the release candidate will be put in the Plone software > centre as a stable release. If the vote is not to release it, members of > the team opposed to the release will give a reason why it should not be > released. If the reason is that they need more time to review the > release, or that the community should have more time to review the > release, this step will repeat at the next meeting. Otherwise, any > identified issues will be corrected on the trunk, and once the patch > works on the trunk, will be moved onto the branch. The process will then > go back to step 7. > > The proposed script controlling version numbers (with step 3 already > incorporated for the next release) is below... > > REPO_PREFIX="https://svn.physiomeproject.org/svn/physiome/" > if [[ x$BRANCH == xyes ]]; then > VERSION_CELLML_API=1.0 > VERSION_XPCELLML_API=1.0 > VERSION_PCENV=0.1 > VERSION_XPCORBA=0.1 > > > REPO_CELLML_API="${REPO_PREFIX}CellML_DOM_API/branches/$VERSION_CELLML_API" > > REPO_XPCELLML_API="${REPO_PREFIX}xpcellml_api/branches/$VERSION_XPCELLML_API" > REPO_PCENV="${REPO_PREFIX}pcenv/branches/$VERSION_PCENV" > REPO_XPCORBA="${REPO_PREFIX}XPCORBA/branches/$VERSION_XPCORBA" > > SUF_CELLML_API=branch$(echo $VERSION_CELLML_API | tr . _) > SUF_XPCELLML_API=branch$(echo $VERSION_XPCELLML_API | tr . _) > SUF_PCENV=branch$(echo $VERSION_PCENV | tr . _) > SUF_XPCORBA=branch$(echo $VERSION_XPCORBA | tr . _) > else > VERSION_CELLML_API=trunk > VERSION_XPCELLML_API=trunk > VERSION_PCENV=trunk > VERSION_XPCORBA=trunk > > REPO_CELLML_API="${REPO_PREFIX}CellML_DOM_API/trunk" > REPO_XPCELLML_API="${REPO_PREFIX}xpcellml_api/trunk" > REPO_PCENV="${REPO_PREFIX}pcenv/trunk" > REPO_XPCORBA="${REPO_PREFIX}XPCORBA/trunk" > > SUF_CELLML_API="" > SUF_XPCELLML_API="" > SUF_PCENV="" > SUF_XPCORBA="" > fi > if [[ x$DEBUG_BRANCH == xyes ]]; then > echo "VERSION_CELLML_API=$VERSION_CELLML_API" > echo "VERSION_XPCELLML_API=$VERSION_XPCELLML_API" > echo "VERSION_PCENV=$VERSION_PCENV" > echo "VERSION_XPCORBA=$VERSION_XPCORBA" > echo "REPO_CELLML_API=$REPO_CELLML_API" > echo "REPO_XPCELLML_API=$REPO_XPCELLML_API" > echo "REPO_PCENV=$REPO_PCENV" > echo "REPO_XPCORBA=$REPO_XPCORBA" > echo "SUF_CELLML_API=$SUF_CELLML_API" > echo "SUF_XPCELLML_API=$SUF_XPCELLML_API" > echo "SUF_PCENV=$SUF_PCENV" > echo "SUF_XPCORBA=$SUF_XPCORBA" > fi > > The output of this script when DEBUG_BRANCH=yes BRANCH=yes is: > VERSION_CELLML_API=1.0 > VERSION_XPCELLML_API=1.0 > VERSION_PCENV=0.1 > VERSION_XPCORBA=0.1 > REPO_CELLML_API=https://svn.physiomeproject.org/svn/physiome/CellML_DOM_API/branches/1.0 > REPO_XPCELLML_API=https://svn.physiomeproject.org/svn/physiome/xpcellml_api/branches/1.0 > REPO_PCENV=https://svn.physiomeproject.org/svn/physiome/pcenv/branches/0.1 > REPO_XPCORBA=https://svn.physiomeproject.org/svn/physiome/XPCORBA/branches/0.1 > SUF_CELLML_API=branch1_0 > SUF_XPCELLML_API=branch1_0 > SUF_PCENV=branch0_1 > SUF_XPCORBA=branch0_1 > > Note: > 1) The proposed version number for the next CellML API stable release is > version 1.0. This version number has been chosen because there has been > concern that the version number of the previous stable release, 0.1, > suggested that the API wasn't ready for general use. > 2) xpcellml_api has been given a version number paired with the CellML > API, because xpcellml_api must always correspond to the exact same > version of the CellML API (as it is a wrapper around the CellML API). It > would cause confusion if it was given a different number. > 3) PCEnv and XPCORBA are versioned at 0.1, because this is the first > release branch ever to be made. > > Please let me know if you can suggest any improvements to the release > process (or the choice of version numbers). > > Best regards, > Andrew > > _______________________________________________ > cellml-discussion mailing list > [email protected] > http://www.cellml.org/mailman/listinfo/cellml-discussion -- David Nickerson, PhD Research Fellow Division of Bioengineering Faculty of Engineering National University of Singapore Email: [EMAIL PROTECTED] _______________________________________________ cellml-discussion mailing list [email protected] http://www.cellml.org/mailman/listinfo/cellml-discussion
