@@ -166,6 +166,77 @@ jobs:
166166 ccache -s
167167 du -hs ~/.cache/ccache
168168
169+ test_openpmd :
170+ name : openPMD I/O Test
171+ runs-on : ubuntu-latest
172+ steps :
173+ - uses : actions/checkout@v4
174+ - name : Dependencies
175+ run : |
176+ .github/workflows/dependencies/dependencies_clang.sh 15
177+ .github/workflows/dependencies/dependencies_clang-tidy.sh 15
178+ .github/workflows/dependencies/dependencies_ccache.sh
179+ - name : Set Up Cache
180+ uses : actions/cache@v3
181+ with :
182+ path : ~/.cache/ccache
183+ key : ccache-${{ github.workflow }}-${{ github.job }}-git-${{ github.sha }}
184+ restore-keys : |
185+ ccache-${{ github.workflow }}-${{ github.job }}-git-
186+ - name : Install openPMD
187+ run : |
188+ export CCACHE_COMPRESS=1
189+ export CCACHE_COMPRESSLEVEL=10
190+ export CCACHE_MAXSIZE=40M
191+
192+ sudo apt-get install -y --no-install-recommends libhdf5-mpi-dev
193+ wget -q https://github.com/openPMD/openPMD-api/archive/refs/tags/0.15.2.tar.gz
194+ tar xfz 0.15.2.tar.gz
195+ cd openPMD-api-0.15.2
196+ mkdir build
197+ cd build
198+ cmake .. -DopenPMD_USE_PYTHON=OFF -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
199+ make -j2
200+ sudo make install
201+ - name : Build & Test
202+ env : {CXXFLAGS: "-fno-operator-names -Werror -Wall -Wextra -Wpedantic -Wnull-dereference -Wfloat-conversion -Wshadow -Woverloaded-virtual -Wextra-semi -Wunreachable-code -Wnon-virtual-dtor"}
203+ run : |
204+ export CCACHE_COMPRESS=1
205+ export CCACHE_COMPRESSLEVEL=10
206+ export CCACHE_MAXSIZE=40M
207+ export CCACHE_EXTRAFILES=${{ github.workspace }}/.clang-tidy
208+ export CCACHE_LOGFILE=${{ github.workspace }}/ccache.log.txt
209+ ccache -z
210+
211+ mkdir build
212+ cd build
213+ cmake .. \
214+ -DAMReX_OPENPMD_API=ON \
215+ -DCMAKE_VERBOSE_MAKEFILE=ON \
216+ -DAMReX_ENABLE_TESTS=ON \
217+ -DAMReX_SPACEDIM=3 \
218+ -DAMReX_MPI=ON \
219+ -DAMReX_OMP=OFF \
220+ -DAMReX_FORTRAN=OFF \
221+ -DAMReX_EB=OFF \
222+ -DAMReX_LINEAR_SOLVERS=OFF \
223+ -DAMReX_AMRLEVEL=OFF \
224+ -DAMReX_PARTICLES=ON \
225+ -DCMAKE_C_COMPILER=$(which clang-15) \
226+ -DCMAKE_CXX_COMPILER=$(which clang++-15) \
227+ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
228+ make -j 2
229+
230+ ${{github.workspace}}/Tools/C_scripts/mmclt.py --input ${{github.workspace}}/ccache.log.txt
231+ make -j2 -k -f clang-tidy-ccache-misses.mak \
232+ CLANG_TIDY=clang-tidy-15 \
233+ CLANG_TIDY_ARGS="--config-file=${{github.workspace}}/.clang-tidy --warnings-as-errors=*"
234+
235+ ctest --output-on-failure
236+
237+ ccache -s
238+ du -hs ~/.cache/ccache
239+
169240 save_pr_number :
170241 if : github.event_name == 'pull_request'
171242 runs-on : ubuntu-latest
0 commit comments