Project

General

Profile

Tag a new argoneutcode release » History » Version 6

Corey Adams, 06/30/2016 08:30 AM

1 1 Tingjun Yang
h1. Tag a new argoneutcode release
2 1 Tingjun Yang
3 3 Tingjun Yang
argoneutcode depends on larsoft and larbatch. Whenever there is a new version of larsoft or larbatch (normally happens weekly), we need to tag a new argoneutcode release to depend on the latest larsoft and larbatch. To find the current dependence on larsoft and larbatch, one can check srcs/argoneutcode/ups/product_deps and examine the following block:
4 1 Tingjun Yang
<pre># Add the dependent product and version
5 1 Tingjun Yang
6 1 Tingjun Yang
product          version
7 1 Tingjun Yang
larsoft         v05_11_01
8 1 Tingjun Yang
larbatch        v01_21_04
9 1 Tingjun Yang
cetbuildtools   v4_19_04        -       only_for_build
10 1 Tingjun Yang
end_product_list
11 1 Tingjun Yang
</pre>
12 1 Tingjun Yang
To find out the latest larsoft and larbatch versions, do
13 1 Tingjun Yang
ups list -aK+ larsoft
14 1 Tingjun Yang
ups list -aK+ larbatch 
15 1 Tingjun Yang
after doing
16 1 Tingjun Yang
source /grid/fermiapp/products/argoneut/setup_argoneut.sh
17 1 Tingjun Yang
18 4 Tingjun Yang
Suppose the latest larsoft is v05_12_00 and the latest larbatch is v01_22_00, we need to tag argoneutcode v05_12_00. 
19 1 Tingjun Yang
First cd to the local argoneutcode directory:
20 1 Tingjun Yang
<pre>cd srcs/argoneutcode</pre>
21 1 Tingjun Yang
Make sure you are on develop branch and get all the updates:
22 1 Tingjun Yang
<pre>git checkout develop
23 1 Tingjun Yang
git pull</pre>
24 1 Tingjun Yang
Start a release branch:
25 1 Tingjun Yang
<pre>git flow release start v05_12_00</pre>
26 1 Tingjun Yang
Modified ups/product_deps:
27 1 Tingjun Yang
<pre>parent argoneutcode v05_12_00
28 1 Tingjun Yang
29 1 Tingjun Yang
larsoft         v05_12_00
30 1 Tingjun Yang
larbatch	v01_22_00</pre>
31 1 Tingjun Yang
32 1 Tingjun Yang
Sometimes larsoft updates cetbuildtools version and if that's the case you should do this same here. 
33 1 Tingjun Yang
Commit your changes:
34 1 Tingjun Yang
<pre>commit -a -m'v05_12_00'</pre>
35 1 Tingjun Yang
Finish the release:
36 1 Tingjun Yang
<pre>git flow release finish -m'v05_12_00'</pre>
37 1 Tingjun Yang
and create the new tag and push the changes to origin develop and master:
38 1 Tingjun Yang
<pre>git push --tags
39 1 Tingjun Yang
git push origin develop master</pre>
40 1 Tingjun Yang
The tagging is done. A new tag v05_12_00 has been created and both remote develop and master have been updated to this new tag. 
41 1 Tingjun Yang
42 1 Tingjun Yang
The next step is to start a Jenkins build:
43 1 Tingjun Yang
https://buildmaster.fnal.gov/view/argoneut/
44 1 Tingjun Yang
You need to register and get a certificate. Click argoneut-release-build then click rebuild last from the left. Change the version of argoneutcode you want to build (v05_12_00 in this example) and start building. Unpack the tarballs (debug and prof) to /grid/fermiapp/products/argoneut/.
45 5 Corey Adams
46 5 Corey Adams
Finally, upload the built products to scisoft, and install them in the products area.
47 5 Corey Adams
48 5 Corey Adams
Copy to scisoft:
49 6 Corey Adams
<pre>
50 5 Corey Adams
wget http://scisoft.fnal.gov/scisoft/bundles/tools/copyToSciSoft
51 5 Corey Adams
chmod +x copyToSciSoft
52 1 Tingjun Yang
./copyToSciSoft argoneutcode*bz2
53 6 Corey Adams
</pre>
54 5 Corey Adams
Install in the products area:
55 5 Corey Adams
tar xf argoneutcode-05.14.00-slf6-x86_64-e9-debug.tar.bz2 -C /grid/fermiapp/products/argoneut/