- 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
- [cellml-discussion] Release process for XPCORBA, CellML API, xpcellml_api, and PCEnv, Andrew Miller, 11/02/2006
- [cellml-discussion] Release process for XPCORBA, CellML API, xpcellml_api, and PCEnv, David Nickerson, 11/03/2006
Archive powered by MHonArc 2.6.18.