Tag a new release

To tag a new release, we usually need to tag a new release of lariatsoft and lariatutil. Sometimes we also need to tag a new release of lariatfragments.

When to tag lariatutil? We should tag a new lariatuil release when there is a new version of larbatch available or larsoft now depends on a new version of art or there have been changes to lariatuil since the last tag. Otherwise we don't need to tag a new lariatutil release.

Here are the instructions to tag a new version of lariatutil. The instructions to tag a new version of lariatsoft are similar.

After set up lariat (source /grid/fermiapp/lariat/, one can cd to lariatutil directory and update to the latest develop version:

cd srcs/lariatutil
git checkout develop
git pull

Find out the latest larbatch version:

ups list -aK+ larbatch

Start a release branch (suppose the new release is v01_26_15):

git flow release start v01_26_15

Modified ups/product_deps:

parent lariatutil v01_26_14
larbatch    vxx_yy_zz

Sometimes larsoft updates cetbuildtools version and if that's the case you should do this same here.
Commit your changes:
git commit -a -m'v01_26_15'

Finish the release:

git flow release finish -m'v01_26_15'

and create the new tag and push the changes to origin develop and master:

git push --tags
git push origin develop master

Now a new version of lariatutil is tagged and merged into develop and master.

The next step is to tag a new version of lariatsoft. The procedure is very similar. Normally you need to change

parent lariatsoft

in ups/product_deps.

After tagging a new version of lariatsoft, one can start a Jenkins build:
You need to register and get a certificate. Click rebuild last from the left. Change the version of lariatsoft you want to build and start building.

Upload files (both tarballs and MANIFEST) to SciSoft:
copyToSciSoft tarball.tar.bz2

Unpack the tarballs (debug and prof) to /grid/fermiapp/products/lariat/ (using tar -xf tarball).