CellML Discussion List

Text archives Help


[cellml-discussion] Release process for XPCORBA, CellML API, xpcellml_api, and PCEnv


Chronological Thread 
  • From: david.nickerson at nus.edu.sg (David Nickerson)
  • Subject: [cellml-discussion] Release process for XPCORBA, CellML API, xpcellml_api, and PCEnv
  • Date: Fri, 03 Nov 2006 11:03:58 +0800

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 cellml-discussion at cellml.org.
> 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
> cellml-discussion at cellml.org
> http://www.cellml.org/mailman/listinfo/cellml-discussion

--
David Nickerson, PhD
Research Fellow
Division of Bioengineering
Faculty of Engineering
National University of Singapore
Email: david.nickerson at nus.edu.sg




Archive powered by MHonArc 2.6.18.

Top of page