Python 3.9 - 3.13: CI Updates #3870
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 🐧 Tooling | |
on: [push, pull_request] | |
concurrency: | |
group: ${{ github.ref }}-${{ github.head_ref }}-tooling | |
cancel-in-progress: true | |
jobs: | |
clangtidy10_nopy_ompi_h5_ad2: | |
name: clang-tidy w/o py | |
runs-on: ubuntu-20.04 | |
if: github.event.pull_request.draft == false | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Spack Cache | |
uses: actions/cache@v3 | |
with: {path: /opt/spack, key: clangtidy10_nopy_ompi_h5_ad2 } | |
- name: Install | |
run: | | |
sudo apt-get update | |
sudo apt-get install clang clang-tidy gfortran libopenmpi-dev python | |
sudo .github/workflows/dependencies/install_spack | |
- name: Build | |
env: {CC: clang, CXX: clang++} | |
run: | | |
eval $(spack env activate --sh .github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/) | |
spack install | |
share/openPMD/download_samples.sh build | |
cmake -S . -B build \ | |
-DCMAKE_CXX_CLANG_TIDY="$(which clang-tidy);-system-headers=0" \ | |
-DopenPMD_USE_INVASIVE_TESTS=ON | |
cmake --build build --parallel 2 2> build/clang-tidy.log | |
cat build/clang-tidy.log | |
if [[ $(wc -m <build/clang-tidy.log) -gt 1 ]]; then exit 1; fi | |
clangsanitizer10_py38_ompi_h5_ad2: | |
name: Clang ASAN UBSAN | |
runs-on: ubuntu-20.04 | |
if: github.event.pull_request.draft == false | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Spack Cache | |
uses: actions/cache@v3 | |
with: {path: /opt/spack, key: clang10_nopy_ompi_h5_ad2 } | |
- name: Install | |
run: | | |
sudo apt-get update | |
sudo apt-get install clang-10 libc++-dev libc++abi-dev python3.9 python3.9-dev python3.9-venv gfortran libopenmpi-dev | |
sudo .github/workflows/dependencies/install_spack | |
- name: Build | |
env: {CC: mpicc, CXX: mpic++, OMPI_CC: clang-10, OMPI_CXX: clang++-10, CXXFLAGS: -Werror, OPENPMD_HDF5_CHUNKS: none, OPENPMD_TEST_NFILES_MAX: 100} | |
run: | | |
eval $(spack env activate --sh .github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/) | |
spack install | |
SOURCEPATH="$(pwd)" | |
share/openPMD/download_samples.sh build | |
python3.9 -m venv env | |
source env/bin/activate | |
pip install numpy | |
export LDFLAGS="${LDFLAGS} -fsanitize=address,undefined -shared-libsan" | |
export CXXFLAGS="${CXXFLAGS} -fsanitize=address,undefined -shared-libsan" | |
cmake -S . -B build \ | |
-DopenPMD_USE_MPI=ON \ | |
-DopenPMD_USE_PYTHON=ON \ | |
-DopenPMD_USE_HDF5=ON \ | |
-DopenPMD_USE_ADIOS2=ON \ | |
-DopenPMD_USE_INVASIVE_TESTS=ON \ | |
-DPython_EXECUTABLE="$(which python)" \ | |
-DCMAKE_VERBOSE_MAKEFILE=ON | |
cmake --build build --parallel 2 | |
export ASAN_OPTIONS=detect_stack_use_after_return=1:detect_leaks=1:check_initialization_order=true:strict_init_order=true:detect_stack_use_after_scope=1:fast_unwind_on_malloc=0 | |
export LSAN_OPTIONS=suppressions="$SOURCEPATH/.github/ci/sanitizer/clang/Leak.supp" | |
export LD_PRELOAD=/usr/lib/clang/10/lib/linux/libclang_rt.asan-x86_64.so | |
ctest --test-dir build -E 3b --output-on-failure | |
export OPENPMD_HDF5_CHUNKS="auto" | |
ctest --test-dir build -R 3b --output-on-failure |