Project

General

Profile

Tag a new argoneutcode release » History » Version 15

Rory Fitzpatrick, 01/08/2020 03:15 PM

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 15 Rory Fitzpatrick
<pre>
14 1 Tingjun Yang
ups list -aK+ larsoft
15 1 Tingjun Yang
ups list -aK+ larbatch 
16 15 Rory Fitzpatrick
</pre>
17 1 Tingjun Yang
after doing
18 1 Tingjun Yang
source /grid/fermiapp/products/argoneut/setup_argoneut.sh
19 1 Tingjun Yang
20 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. 
21 1 Tingjun Yang
First cd to the local argoneutcode directory:
22 1 Tingjun Yang
<pre>cd srcs/argoneutcode</pre>
23 1 Tingjun Yang
Make sure you are on develop branch and get all the updates:
24 1 Tingjun Yang
<pre>git checkout develop
25 1 Tingjun Yang
git pull</pre>
26 1 Tingjun Yang
Start a release branch:
27 1 Tingjun Yang
<pre>git flow release start v05_12_00</pre>
28 1 Tingjun Yang
Modified ups/product_deps:
29 1 Tingjun Yang
<pre>parent argoneutcode v05_12_00
30 1 Tingjun Yang
31 1 Tingjun Yang
larsoft         v05_12_00
32 1 Tingjun Yang
larbatch	v01_22_00</pre>
33 1 Tingjun Yang
34 1 Tingjun Yang
Sometimes larsoft updates cetbuildtools version and if that's the case you should do this same here. 
35 1 Tingjun Yang
Commit your changes:
36 13 Rory Fitzpatrick
<pre>git commit -a -m'v05_12_00'</pre>
37 1 Tingjun Yang
Finish the release:
38 1 Tingjun Yang
<pre>git flow release finish -m'v05_12_00'</pre>
39 1 Tingjun Yang
and create the new tag and push the changes to origin develop and master:
40 1 Tingjun Yang
<pre>git push --tags
41 1 Tingjun Yang
git push origin develop master</pre>
42 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. 
43 1 Tingjun Yang
44 1 Tingjun Yang
The next step is to start a Jenkins build:
45 12 Rory Fitzpatrick
https://buildmaster.fnal.gov/buildmaster/job/argoneut-release-build/
46 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/.
47 5 Corey Adams
48 9 Tingjun Yang
Copy files from Jenkins:
49 9 Tingjun Yang
<pre>
50 9 Tingjun Yang
wget http://scisoft.fnal.gov/scisoft/bundles/tools/copyFromJenkins
51 1 Tingjun Yang
chmod +x copyFromJenkins
52 15 Rory Fitzpatrick
./copyFromJenkins -q c7 -q e19 argoneut-release-build
53 9 Tingjun Yang
</pre>
54 9 Tingjun Yang
55 5 Corey Adams
Finally, upload the built products to scisoft, and install them in the products area.
56 5 Corey Adams
57 5 Corey Adams
Copy to scisoft:
58 6 Corey Adams
<pre>
59 5 Corey Adams
wget http://scisoft.fnal.gov/scisoft/bundles/tools/copyToSciSoft
60 5 Corey Adams
chmod +x copyToSciSoft
61 1 Tingjun Yang
./copyToSciSoft argoneutcode*bz2
62 6 Corey Adams
</pre>
63 5 Corey Adams
Install in the products area:
64 10 Tingjun Yang
<pre>
65 11 Tingjun Yang
ssh -l argoneut argoneutgpvm01.fnal.gov
66 5 Corey Adams
tar xf argoneutcode-05.14.00-slf6-x86_64-e9-debug.tar.bz2 -C /grid/fermiapp/products/argoneut/
67 10 Tingjun Yang
</pre>
68 7 Tingjun Yang
69 7 Tingjun Yang
Upload to CVMFS (currently only Tingjun and Corey have permission):
70 7 Tingjun Yang
<pre>
71 8 Tingjun Yang
ssh -l cvmfsargoneut oasiscfs.fnal.gov
72 7 Tingjun Yang
argoneut-sync argoneut/argoneutcode
73 7 Tingjun Yang
</pre>