-
Notifications
You must be signed in to change notification settings - Fork 32
/
Jenkinsfile
121 lines (113 loc) · 3.96 KB
/
Jenkinsfile
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
pipeline
{
agent none
environment
{
CHOLLA_ROOT = "${env.WORKSPACE}"
CHOLLA_MACHINE = 'crc'
CHOLLA_LAUNCH_COMMAND = 'mpirun -np'
}
stages
{
stage('BuildAndTest')
{
matrix
{
agent
{
label
{
label 'eschneider-ppc-n4'
customWorkspace "${env.JOB_NAME}/${env.CHOLLA_MAKE_TYPE}"
}
}
axes
{
axis
{
name 'CHOLLA_MAKE_TYPE'
values 'hydro', 'gravity', 'disk', 'particles', 'cosmology', 'mhd', 'dust', 'cooling'
}
}
stages
{
stage('Clone Repo Cholla')
{
steps
{
sh '''
git submodule update --init --recursive
make clobber
'''
}
}
stage('Build Cholla')
{
steps
{
sh '''
source builds/run_tests.sh
setupTests -c gcc -t ${CHOLLA_MAKE_TYPE}
buildCholla OPTIMIZE
'''
}
}
stage('Build Tests')
{
steps
{
sh '''
source builds/run_tests.sh
setupTests -c gcc -t ${CHOLLA_MAKE_TYPE}
buildChollaTests
'''
}
}
stage('Run Tests')
{
steps
{
sh '''
source builds/run_tests.sh
setupTests -c gcc -t ${CHOLLA_MAKE_TYPE}
runTests
'''
}
}
stage('Run Clang Tidy')
{
steps
{
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
sh '''
source builds/run_tests.sh
setupTests -c gcc -t ${CHOLLA_MAKE_TYPE}
module load clang/17.0.1
make tidy CLANG_TIDY_ARGS="--warnings-as-errors=*" TYPE=${CHOLLA_MAKE_TYPE}
'''
}
}
}
stage('Show Tidy Results')
{
steps
{
// Print the clang-tidy results with bars of equal
// signs seperating each file
sh '''
printf '=%.0s' {1..100}
printf "\n"
cat tidy_results_cpp_${CHOLLA_MAKE_TYPE}.log
printf '=%.0s' {1..100}
printf "\n"
cat tidy_results_gpu_${CHOLLA_MAKE_TYPE}.log
printf '=%.0s' {1..100}
printf "\n"
'''
}
}
}
}
}
}
}