This page describe how new release tarball are created from the Git repository. Please have a look at the [[releasing]] for the overall process.
//If one only wants to publish a snapshot tarball, one can skip the first step, and use the snapshot branch on the archive server.//
===== Tag the new version =====
The 1st step is to tag the current commit in the repository for the new version
workstation $ git checkout 2.5
Before anything, we pull any last commit from origin, and push our last changes
workstation $ REMOTE=github # or REMOTE=origin
workstation $ git pull --rebase
workstation $ git push $REMOTE 2.5
Then we can safely tag our new version
workstation $ VERSION=2.5.3
workstation $ git tag -s $VERSION -m $VERSION
(For release candidate, we use VERSION=2.5.3+rc3 for instance)
This requires your GPG settings to correctly set in Git: you must use the __exact__ same identity in OAR's Git settings as set in your GPG key (otherwise Git wont find your GPG key).
Once this is done, //git describe// should return the new version, as follows:
workstation $ git describe
2.5.3
===== Generate the tarball =====
You can now generate the tarball using the //make_tarball// script:
workstation $ make tarball
Using the Git repository '/home/neyron/scm/OAR/oar'
Using the Git tree-ish '2.5'
../tarballs/oar-2.5.3.tar.gz
===== Push the tag to origin =====
If everything went well so far, you can push the release tag to OAR git repository
workstation $ git push $REMOTE --tags -n
To git+ssh://capitn@scm.gforge.inria.fr//gitroot/oar/oar.git
* [new tag] 2.5.3 -> 2.5.3
if the dry-run looks ok, push for real
workstation $ git push $REMOTE --tags
Counting objects: 1, done.
Writing objects: 100% (1/1), 800 bytes, done.
Total 1 (delta 0), reused 0 (delta 0)
To git+ssh://capitn@scm.gforge.inria.fr//gitroot/oar/oar.git
* [new tag] 2.5.3 -> 2.5.3
===== Publish the tarball =====
The before-generated tarball must now be pushed to the archive server (only possible if your SSH key is authorized for connecting to the archive server), in one of the branches: testing or stable.
workstation $ VERSION=2.5.3
workstation $ FTP=ftpmaster@oar-ftp.lig
workstation $ scp ../tarballs/oar-$VERSION.tar.gz \
$FTP:oar-ftp.imag.fr/oar/sources/testing/
Generate the checksums:
workstation $ ssh $FTP \
"cd oar-ftp.imag.fr/oar/sources/testing/ &&
md5sum oar-$VERSION.tar.gz > oar-$VERSION.tar.gz.md5sum &&
sha1sum oar-$VERSION.tar.gz > oar-$VERSION.tar.gz.sha1sum"
If we are releasing a stable version, symlink the files from the testing directory to the stable directory:
workstation $ ssh $FTP \
"cd oar-ftp.imag.fr/oar/sources/stable/ &&
for f in oar-$VERSION.tar.gz oar-$VERSION.tar.gz.md5sum oar-$VERSION.tar.gz.sha1sum;
do ln -s ../testing/\$f . ; done"
That's it !
===== Test ! =====
You should now see the new tarball listed in http://oar-ftp.imag.fr/oar/sources/