CI: Spack v0.21.1 #594
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: 🐧 Linux | |
on: [push, pull_request] | |
concurrency: | |
group: ${{ github.ref }}-${{ github.head_ref }}-linux | |
cancel-in-progress: true | |
jobs: | |
clang7_nopy_nompi_h5_libcpp: | |
runs-on: ubuntu-20.04 | |
if: github.event.pull_request.draft == false | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Spack Cache | |
uses: actions/cache@v3 | |
with: {path: /opt/spack, key: clang7_nopy_nompi_h5_libcpp_v2} | |
- name: Install | |
run: | | |
sudo apt-get update | |
sudo apt-get install clang-7 libc++-7-dev libc++abi-7-dev | |
sudo .github/workflows/dependencies/install_spack | |
- name: Build | |
env: {CC: clang-7, CXX: clang++-7, CXXFLAGS: -stdlib=libc++ -Werror -Wno-ignored-attributes -Wno-unused-const-variable} | |
# -Wno-ignored-attributes -Wno-unused-const-variable: clang-6 has a | |
# false positive on src/auxiliary/Filesystem.cpp | |
# [[maybe_unused]] MPI_Datatype const MPI_Types< unsigned >::value = MPI_UNSIGNED; | |
run: | | |
eval $(spack env activate --sh .github/ci/spack-envs/clang7_nopy_nompi_h5_libcpp/) | |
spack install | |
share/openPMD/download_samples.sh build | |
cmake -S . -B build \ | |
-DopenPMD_USE_PYTHON=OFF \ | |
-DopenPMD_USE_MPI=OFF \ | |
-DopenPMD_USE_HDF5=ON \ | |
-DopenPMD_USE_INVASIVE_TESTS=ON \ | |
-DCMAKE_VERBOSE_MAKEFILE=ON | |
cmake --build build --parallel 2 | |
cd build | |
ctest --output-on-failure | |
clang7_nopy_ompi_h5_ad2_libcpp: | |
runs-on: ubuntu-20.04 | |
if: github.event.pull_request.draft == false | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Spack Cache | |
uses: actions/cache@v3 | |
with: {path: /opt/spack, key: clang7_nopy_ompi_h5_ad2_libcpp_v2} | |
- name: Install | |
run: | | |
sudo apt-get update | |
sudo apt-get install clang-7 libc++-7-dev libc++abi-7-dev gfortran libopenmpi-dev python3 | |
sudo .github/workflows/dependencies/install_spack | |
- name: Build | |
env: {CC: clang-7, CXX: clang++-7, CXXFLAGS: -stdlib=libc++ -Werror -Wno-ignored-attributes -Wno-unused-const-variable} | |
# -Wno-ignored-attributes -Wno-unused-const-variable: clang-6 has a | |
# false positive on src/auxiliary/Filesystem.cpp | |
# [[maybe_unused]] MPI_Datatype const MPI_Types< unsigned >::value = MPI_UNSIGNED; | |
run: | | |
cmake --version | |
mpiexec --version | |
perl --version | |
python --version | |
eval $(spack env activate --sh .github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/) | |
spack install | |
share/openPMD/download_samples.sh build | |
cmake -S . -B build \ | |
-DopenPMD_USE_PYTHON=OFF \ | |
-DopenPMD_USE_MPI=ON \ | |
-DopenPMD_USE_HDF5=ON \ | |
-DopenPMD_USE_ADIOS2=ON \ | |
-DopenPMD_USE_INVASIVE_TESTS=ON \ | |
-DCMAKE_VERBOSE_MAKEFILE=ON | |
cmake --build build --parallel 2 | |
cd build | |
ctest --output-on-failure | |
find . -name *.bp | xargs -n1 -P1 -I {} rm -rf {} | |
find . -name *.bp.dir | xargs -n1 -P1 -I {} rm -rf {} | |
ctest --output-on-failure | |
clang7_nopy_ompi_h5_ad2: | |
runs-on: ubuntu-20.04 | |
if: github.event.pull_request.draft == false | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Spack Cache | |
uses: actions/cache@v3 | |
with: {path: /opt/spack, key: clang7_nopy_ompi_h5_ad2_v2 } | |
- name: Install | |
run: | | |
sudo apt-get update | |
sudo apt-get install clang-7 gfortran libopenmpi-dev python3 | |
sudo .github/workflows/dependencies/install_spack | |
- name: Build | |
env: {CC: clang-7, CXX: clang++-7, CXXFLAGS: -Werror} | |
run: | | |
eval $(spack env activate --sh .github/ci/spack-envs/clang7_nopy_ompi_h5_ad2/) | |
spack install | |
share/openPMD/download_samples.sh build | |
cmake -S . -B build \ | |
-DopenPMD_USE_PYTHON=OFF \ | |
-DopenPMD_USE_MPI=ON \ | |
-DopenPMD_USE_HDF5=ON \ | |
-DopenPMD_USE_ADIOS2=ON \ | |
-DopenPMD_USE_INVASIVE_TESTS=ON \ | |
-DCMAKE_VERBOSE_MAKEFILE=ON | |
cmake --build build --parallel 2 | |
cd build | |
ctest --output-on-failure | |
# TODO | |
# clang7_py36_nompi_h5_ad2_libstdc++ | |
clang14_py311_nompi_h5_ad2: | |
runs-on: ubuntu-22.04 | |
if: github.event.pull_request.draft == false | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Spack Cache | |
uses: actions/cache@v3 | |
with: {path: /opt/spack, key: clang14_py311_nompi_h5_ad2_v2 } | |
- name: Install | |
run: | | |
sudo apt update | |
sudo apt install clang-14 cmake gfortran libhdf5-dev python3.11 python3.11-dev wget | |
wget https://bootstrap.pypa.io/get-pip.py | |
python3.11 get-pip.py | |
python3.11 -m pip install numpy pandas | |
sudo .github/workflows/dependencies/install_spack | |
- name: Build | |
env: {CC: clang-14, CXX: clang++-14, CXXFLAGS: -Werror} | |
run: | | |
eval $(spack env activate --sh .github/ci/spack-envs/clang14_py311_nompi_h5_ad2/) | |
spack install | |
share/openPMD/download_samples.sh build | |
cmake -S . -B build \ | |
-DopenPMD_USE_PYTHON=ON \ | |
-DopenPMD_USE_MPI=OFF \ | |
-DopenPMD_USE_HDF5=ON \ | |
-DopenPMD_USE_ADIOS2=ON \ | |
-DopenPMD_USE_INVASIVE_TESTS=ON \ | |
-DCMAKE_VERBOSE_MAKEFILE=ON \ | |
-DPython_EXECUTABLE=$(which python3.11) | |
cmake --build build --parallel 2 | |
ctest --test-dir build --output-on-failure | |
# ADIOS2 v2.7.1 | |
clang8_py38_mpich_h5_ad2: | |
runs-on: ubuntu-20.04 | |
if: github.event.pull_request.draft == false | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Spack Cache | |
uses: actions/cache@v3 | |
with: {path: /opt/spack, key: clang8_py38_mpich_h5_ad2_newLayout_v2 } | |
- name: Install | |
run: | | |
sudo apt-get update | |
sudo apt-get install clang-8 gfortran libmpich-dev python3 | |
sudo .github/workflows/dependencies/install_spack | |
- name: Build | |
env: {CC: clang-8, CXX: clang++-8, CXXFLAGS: -Werror} | |
run: | | |
cmake --version | |
mpiexec --version | |
perl --version | |
python --version | |
eval $(spack env activate --sh .github/ci/spack-envs/clang8_py38_mpich_h5_ad2/) | |
spack install | |
share/openPMD/download_samples.sh build | |
cmake -S . -B build \ | |
-DopenPMD_USE_PYTHON=OFF \ | |
-DopenPMD_USE_MPI=ON \ | |
-DopenPMD_USE_HDF5=ON \ | |
-DopenPMD_USE_ADIOS2=ON \ | |
-DopenPMD_USE_INVASIVE_TESTS=ON | |
cmake --build build --parallel 2 | |
cd build | |
ctest --output-on-failure | |
# TODO: (old Travis-CI coverage) | |
# clang10_py38_ompi_h5_1-10-6_ad2_release | |
# ..._h5coll with OPENPMD_HDF5_INDEPENDENT: OFF | |
# TODO: (old Travis-CI coverage) | |
# gcc-4.9.4_nopy_nompi_h5_ad2 | |
# gcc-4.9.4_nopy_ompi_h5_ad2 | |
# gcc-9.3.0_nopy_nompi_h5_ad2-2.6.0 | |
# gcc-7.4.0_nopy_ompi_h5_h5coll | |
# gcc-6.5.0_py35_nompi_h5-1.13.1 | |
# gcc-8.1.0_py37_nompi_h5_static | |
# gcc-6.5.0_py36_nompi_h5-1.8.13 | |
# gcc-4.8.5_py35_nompi_h5 | |
# gcc-7.4.0_py_ompi_h5_ad2_coveralls | |
gcc7_py36_pd_dd_ompi_h5_ad2: | |
runs-on: ubuntu-20.04 | |
if: github.event.pull_request.draft == false | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Spack Cache | |
uses: actions/cache@v3 | |
with: {path: /opt/spack, key: gcc7_py36_ompi_h5_ad2_v2 } | |
- name: Install | |
run: | | |
sudo apt-get update | |
sudo apt-get install g++-7 gfortran libopenmpi-dev python3 python3-setuptools | |
sudo .github/workflows/dependencies/install_spack | |
python3 -m pip install -U pip | |
python3 -m pip install -U numpy | |
python3 -m pip install -U mpi4py | |
python3 -m pip install -U pandas | |
python3 -m pip install -U dask | |
python3 -m pip install -U pyarrow | |
- name: Build | |
env: {CC: gcc-7, CXX: g++-7, CXXFLAGS: -Werror} | |
run: | | |
eval $(spack env activate --sh .github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/) | |
spack install | |
share/openPMD/download_samples.sh build | |
cmake -S . -B build \ | |
-DopenPMD_USE_PYTHON=ON \ | |
-DopenPMD_USE_MPI=ON \ | |
-DopenPMD_USE_HDF5=ON \ | |
-DopenPMD_USE_ADIOS2=ON \ | |
-DopenPMD_USE_INVASIVE_TESTS=ON | |
cmake --build build --parallel 2 | |
cd build | |
ctest --output-on-failure | |
gcc9_py38_pd_nompi_h5_ad2_libcpp: | |
runs-on: ubuntu-20.04 | |
if: github.event.pull_request.draft == false | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install | |
run: | | |
sudo apt-get update | |
sudo apt-get install g++ libopenmpi-dev libhdf5-openmpi-dev python3 python3-numpy python3-mpi4py python3-pandas | |
# TODO ADIOS2 | |
- name: Build | |
env: {CXXFLAGS: -Werror, PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig} | |
run: | | |
share/openPMD/download_samples.sh build | |
cmake -S . -B build \ | |
-DopenPMD_USE_PYTHON=ON \ | |
-DopenPMD_USE_MPI=ON \ | |
-DopenPMD_USE_HDF5=ON \ | |
-DopenPMD_USE_INVASIVE_TESTS=ON | |
cmake --build build --parallel 2 | |
cd build | |
ctest --output-on-failure | |
musllinux_py10: | |
runs-on: ubuntu-20.04 | |
if: github.event.pull_request.draft == false | |
container: | |
image: quay.io/pypa/musllinux_1_1_x86_64 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install | |
run: | | |
apk update | |
apk add hdf5-dev | |
python3.10 -m pip install numpy | |
- name: Build | |
env: {CXXFLAGS: -Werror} | |
run: | | |
share/openPMD/download_samples.sh build | |
cmake -S . -B build \ | |
-DopenPMD_USE_PYTHON=ON \ | |
-DopenPMD_USE_MPI=OFF \ | |
-DopenPMD_USE_HDF5=ON \ | |
-DopenPMD_USE_INVASIVE_TESTS=ON \ | |
-DPython_EXECUTABLE=$(which python3.10) | |
cmake --build build --parallel 2 | |
cd build | |
ctest --output-on-failure | |
conda_ompi_all: | |
runs-on: ubuntu-20.04 | |
if: github.event.pull_request.draft == false | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: conda-incubator/setup-miniconda@v3 | |
name: Setup conda | |
with: | |
auto-update-conda: true | |
activate-environment: testing | |
auto-activate-base: false | |
channels: conda-forge,defaults | |
channel-priority: true | |
- name: Install | |
shell: bash -eo pipefail -l {0} | |
run: | | |
conda install -c conda-forge -y mamba | |
mamba env create --file conda.yml | |
- name: Build | |
shell: bash -eo pipefail -l {0} | |
env: {CXXFLAGS: -Werror} | |
run: | | |
source activate openpmd-api-dev | |
share/openPMD/download_samples.sh build | |
cmake -S . -B build \ | |
-DopenPMD_USE_PYTHON=ON \ | |
-DopenPMD_USE_MPI=ON \ | |
-DopenPMD_USE_HDF5=ON \ | |
-DopenPMD_USE_ADIOS2=ON \ | |
-DopenPMD_USE_INVASIVE_TESTS=ON | |
cmake --build build --parallel 2 | |
cd build | |
ctest --output-on-failure |