-
Notifications
You must be signed in to change notification settings - Fork 2
/
.gitlab-ci.yml
162 lines (150 loc) · 5.6 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
image: ghcr.io/lobis/root-geant4-garfield:rest-for-physics
stages:
- pre-build
- build
- loadRESTLibs
- metadata
- ray-tracing
before_script:
- export USER="axion"
# We execute only at the schedulled pipeline that defines CRONJOB variable
clang-format:
stage: pre-build
script:
- echo "**$CRONJOB**"
- echo "**$CI_SERVER_HOST**"
- cd ${CI_PROJECT_DIR}/pipeline/clang-format/
- ./clangformattest.sh
only:
variables:
- $CRONJOB
validateLibrary:
stage: pre-build
script:
- python pipeline/validateLibrary.py .
except:
variables:
- $CRONJOB == "YES"
build:
stage: build
script:
- echo "**${CI_PROJECT_DIR}**"
- rm -rf ${CI_PROJECT_DIR}/install
- git clone https://github.com/rest-for-physics/framework.git framework
- cd framework
- ./scripts/checkoutRemoteBranch.sh ${CI_COMMIT_BRANCH}
- git submodule init source/libraries/axion
- git submodule update source/libraries/axion
- cd source/libraries/axion/
- git checkout ${CI_COMMIT_BRANCH}
- cd ../../../
- mkdir build
- cd build
- cmake ../ -DREST_SOLAXFLUX=OFF -DREST_WELCOME=ON -DRESTLIB_AXION=ON -DREST_GARFIELD=OFF -DREST_G4=OFF -DCMAKE_INSTALL_PREFIX=${CI_PROJECT_DIR}/install -DMPFR_PATH=${CI_PROJECT_DIR}/mpfr-4.0.2/install -DREST_MPFR=ON
- make install -j2
# - . ${CI_PROJECT_DIR}/framework/source/libraries/axion/external/solarAxionFlux/bin/thisSolarAxionFluxLib.sh
- . ${CI_PROJECT_DIR}/install/thisREST.sh
- restRoot -b -q
except:
variables:
- $CRONJOB
artifacts:
paths:
- ${CI_PROJECT_DIR}/install
- ${CI_PROJECT_DIR}/framework
expire_in: 1 day
loadRESTLibs:
stage: loadRESTLibs
script:
- . ${CI_PROJECT_DIR}/install/thisREST.sh
# - . ${CI_PROJECT_DIR}/framework/source/libraries/axion/external/solarAxionFlux/bin/thisSolarAxionFluxLib.sh
- restRoot -b -q
except:
variables:
- $CRONJOB
magneticField:
stage: metadata
script:
# - . ${CI_PROJECT_DIR}/framework/source/libraries/axion/external/solarAxionFlux/bin/thisSolarAxionFluxLib.sh
- . ${CI_PROJECT_DIR}/install/thisREST.sh
- cd ${CI_PROJECT_DIR}/pipeline/metadata/magneticField/
- wget https://sultan.unizar.es/axionlib-data/magneticField/fields.rml
- wget https://sultan.unizar.es/axionlib-data/magneticField/Bykovskiy_201906.dat
- python magneticField.py
- cd trilinear
- wget https://sultan.unizar.es/axionlib-data/magneticField/fields.rml
- restRoot -b -q GetMagneticField_test.C
- cd ${CI_PROJECT_DIR}/pipeline/metadata/magneticField/boundary/
- restRoot -b -q Boundaries_test.C
except:
variables:
- $CRONJOB
mirrors:
stage: metadata
script:
- . ${CI_PROJECT_DIR}/install/thisREST.sh
- cd ${CI_PROJECT_DIR}/pipeline/metadata/optics/
- wget https://sultan.unizar.es/axionlib-data/optics/optics.rml
- wget https://sultan.unizar.es/axionlib-data/opticsMirror/mirrors.rml
- wget https://sultan.unizar.es/axionlib-data/opticsMirror/Reflectivity_Single_C_30_SiO2_0.N901f
- wget https://sultan.unizar.es/axionlib-data/opticsMirror/Transmission_Single_C_30_SiO2_0.N901f
- wget https://sultan.unizar.es/axionlib-data/opticsMirror/Reflectivity_Single_Au_250_Ni_0.4.N901f
- wget https://sultan.unizar.es/axionlib-data/opticsMirror/Transmission_Single_Au_250_Ni_0.4.N901f
- python mirrors.py
# - python optics.py
# - python basic.py
except:
variables:
- $CRONJOB
MCPL Optics:
stage: metadata
script:
- . ${CI_PROJECT_DIR}/install/thisREST.sh
- cd ${CI_PROJECT_DIR}/pipeline/metadata/optics/
- wget https://sultan.unizar.es/axionlib-data/optics/optics.rml
- python mcpl.py
except:
variables:
- $CRONJOB
xRayTransmission:
stage: metadata
script:
- . ${CI_PROJECT_DIR}/install/thisREST.sh
- cd ${CI_PROJECT_DIR}/pipeline/metadata/transmission/
- wget https://sultan.unizar.es/axionlib-data/transmission/windows.rml
- wget https://sultan.unizar.es/axionlib-data/transmission/Al.sol
- wget https://sultan.unizar.es/axionlib-data/transmission/Si.sol
- wget https://sultan.unizar.es/axionlib-data/transmission/Si3N4.sol
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${CI_PROJECT_DIR}/mpfr-4.0.2/install/lib
- python windowPlot.py
solarFlux:
stage: metadata
script:
- . ${CI_PROJECT_DIR}/install/thisREST.sh
- cd ${CI_PROJECT_DIR}/pipeline/metadata/solarFlux/
- wget https://sultan.unizar.es/axionlib-data/solarFlux/fluxes.rml
- wget https://sultan.unizar.es/axionlib-data/solarFlux/Dummy_Galan_202202.spt
- wget https://sultan.unizar.es/axionlib-data/solarFlux/Primakoff_Gianotti_201904.dat
- wget https://sultan.unizar.es/axionlib-data/solarFlux/Primakoff_LennertHoof_202203.dat
- python solarTests.py
- python solarPlot.py
- python compare.py
except:
variables:
- $CRONJOB
XMM optics bench ray-tracing:
stage: ray-tracing
script:
- . ${CI_PROJECT_DIR}/install/thisREST.sh
- cd ${CI_PROJECT_DIR}/pipeline/ray-tracing/
- export REST_NEVENTS=1000
- export REST_RUN=100
- wget https://sultan.unizar.es/axionlib-data/opticsMirror/Reflectivity_Single_Au_250_Ni_0.4.N901f
- wget https://sultan.unizar.es/axionlib-data/opticsMirror/Transmission_Single_Au_250_Ni_0.4.N901f
- wget https://sultan.unizar.es/axionlib-data/optics/xmm.rml
- wget https://sultan.unizar.es/axionlib-data/optics/XMM.Wolter
- restManager --c opticsBench.rml
- restRoot ValidateXMM.C'("OpticsBench_Yaw_0.05_Dev_0.005_BabyIAXO_Run00100.root")'
except:
variables:
- $CRONJOB