@@ -11,24 +11,8 @@ concurrency:
11
11
cancel-in-progress : true
12
12
13
13
jobs :
14
-
15
14
skip_checks :
16
- name : Skip checks?
17
- runs-on : macos-latest
18
- steps :
19
- - name : Checkout code
20
- uses : actions/checkout@v4
21
- with :
22
- fetch-depth : 0
23
- - name : Run PR analysis script
24
- run : |
25
- .github/workflows/scripts/check_diff.sh \
26
- ${{ github.event.pull_request.head.ref }} \
27
- ${{ github.event.pull_request.base.ref }} \
28
- ${{ github.event.pull_request.head.repo.clone_url }}
29
- outputs :
30
- skip : ${{ env.SKIP_CHECKS }}
31
-
15
+ uses : ./.github/workflows/skip_checks.yml
32
16
build_UB_sanitizer :
33
17
name : Clang UB sanitizer
34
18
runs-on : ubuntu-22.04
58
42
export CCACHE_COMPRESSLEVEL=10
59
43
export CCACHE_MAXSIZE=100M
60
44
ccache -z
61
-
62
45
export CXX=$(which clang++-17)
63
46
export CC=$(which clang-17)
64
47
export CXXFLAGS="-fsanitize=undefined,address,pointer-compare -fno-sanitize-recover=all"
65
-
66
48
cmake -S . -B build \
67
49
-GNinja \
68
50
-DCMAKE_VERBOSE_MAKEFILE=ON \
@@ -75,27 +57,20 @@ jobs:
75
57
-DWarpX_PRECISION=SINGLE \
76
58
-DWarpX_PARTICLE_PRECISION=SINGLE
77
59
cmake --build build -j 4
78
-
79
60
ccache -s
80
61
du -hs ~/.cache/ccache
81
-
82
62
- name : run with UB sanitizer
83
63
run : |
84
-
85
64
# We need these two lines because these tests run inside a docker container
86
65
export OMPI_ALLOW_RUN_AS_ROOT=1
87
66
export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1
88
-
89
67
export OMP_NUM_THREADS=2
90
-
91
68
#MPI implementations often leak memory
92
69
export "ASAN_OPTIONS=detect_leaks=0"
93
-
94
70
mpirun -n 2 ./build/bin/warpx.rz Examples/Physics_applications/laser_acceleration/inputs_base_rz
95
71
mpirun -n 2 ./build/bin/warpx.1d Examples/Physics_applications/laser_acceleration/inputs_base_1d
96
72
mpirun -n 2 ./build/bin/warpx.2d Examples/Physics_applications/laser_acceleration/inputs_base_2d
97
73
mpirun -n 2 ./build/bin/warpx.3d Examples/Physics_applications/laser_acceleration/inputs_base_3d
98
-
99
74
build_thread_sanitizer :
100
75
name : Clang thread sanitizer
101
76
runs-on : ubuntu-22.04
@@ -125,11 +100,9 @@ jobs:
125
100
export CCACHE_COMPRESSLEVEL=10
126
101
export CCACHE_MAXSIZE=100M
127
102
ccache -z
128
-
129
103
export CXX=$(which clang++-17)
130
104
export CC=$(which clang-17)
131
105
export CXXFLAGS="-fsanitize=thread"
132
-
133
106
cmake -S . -B build \
134
107
-GNinja \
135
108
-DCMAKE_VERBOSE_MAKEFILE=ON \
@@ -143,7 +116,6 @@ jobs:
143
116
-DWarpX_PRECISION=DOUBLE \
144
117
-DWarpX_PARTICLE_PRECISION=DOUBLE
145
118
cmake --build build -j 4
146
-
147
119
cmake -S . -B build_EB \
148
120
-GNinja \
149
121
-DCMAKE_VERBOSE_MAKEFILE=ON \
@@ -157,30 +129,22 @@ jobs:
157
129
-DWarpX_PRECISION=DOUBLE \
158
130
-DWarpX_PARTICLE_PRECISION=DOUBLE
159
131
cmake --build build_EB -j 4
160
-
161
132
ccache -s
162
133
du -hs ~/.cache/ccache
163
-
164
134
- name : run with thread sanitizer
165
135
run : |
166
136
export PMIX_MCA_gds=hash
167
137
export TSAN_OPTIONS='ignore_noninstrumented_modules=1'
168
138
export ARCHER_OPTIONS="verbose=1"
169
-
170
139
# We need these two lines because these tests run inside a docker container
171
140
export OMPI_ALLOW_RUN_AS_ROOT=1
172
141
export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1
173
-
174
142
export OMP_NUM_THREADS=2
175
-
176
143
mpirun -n 2 ./build/bin/warpx.rz Examples/Physics_applications/laser_acceleration/inputs_base_rz warpx.serialize_initial_conditions = 0
177
144
mpirun -n 2 ./build/bin/warpx.1d Examples/Physics_applications/laser_acceleration/inputs_base_1d warpx.serialize_initial_conditions = 0
178
145
mpirun -n 2 ./build/bin/warpx.2d Examples/Physics_applications/laser_acceleration/inputs_base_2d warpx.serialize_initial_conditions = 0
179
146
mpirun -n 2 ./build/bin/warpx.3d Examples/Physics_applications/laser_acceleration/inputs_base_3d warpx.serialize_initial_conditions = 0
180
-
181
147
git clone https://github.com/ECP-WarpX/warpx-data ../warpx-data
182
148
cd Examples/Tests/embedded_circle
183
-
184
149
ulimit -c unlimited
185
-
186
150
mpirun -n 2 ../../../build_EB/bin/warpx.2d inputs_test_2d_embedded_circle warpx.serialize_initial_conditions = 0
0 commit comments