From ca80610349c13ac4a6f50b93f856acd678f8bd43 Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Mon, 26 Feb 2024 08:58:12 -0800 Subject: [PATCH 1/9] CI: Spack v0.21.1 Update Spack in CI to the latest stable release. --- .github/ci/spack-envs/clang14_py311_nompi_h5_ad2/spack.yaml | 2 +- .github/ci/spack-envs/clang7_nopy_ompi_h5_ad2/spack.yaml | 2 +- .../ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml | 2 +- .github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml | 2 +- .github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml | 2 +- .github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml | 2 +- .github/ci/spack-envs/gcc_py_ompi_h5_ad2_arm64/spack.yaml | 2 +- .github/workflows/dependencies/install_spack | 2 +- .github/workflows/tooling.yml | 3 +++ 9 files changed, 11 insertions(+), 8 deletions(-) diff --git a/.github/ci/spack-envs/clang14_py311_nompi_h5_ad2/spack.yaml b/.github/ci/spack-envs/clang14_py311_nompi_h5_ad2/spack.yaml index 06e9d1ac40..d06a6e3cae 100644 --- a/.github/ci/spack-envs/clang14_py311_nompi_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/clang14_py311_nompi_h5_ad2/spack.yaml @@ -17,7 +17,7 @@ spack: cmake: externals: - spec: cmake@3.22.1 - prefix: /usr + prefix: /usr/local buildable: False perl: externals: diff --git a/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2/spack.yaml b/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2/spack.yaml index fa2e588608..ccd5f9dd57 100644 --- a/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2/spack.yaml @@ -16,7 +16,7 @@ spack: cmake: externals: - spec: cmake@3.23.0 - prefix: /usr + prefix: /usr/local buildable: False openmpi: externals: diff --git a/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml b/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml index 8a8dd00024..da7ec054c7 100644 --- a/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml +++ b/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml @@ -16,7 +16,7 @@ spack: cmake: externals: - spec: cmake@3.23.0 - prefix: /usr + prefix: /usr/local buildable: False openmpi: externals: diff --git a/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml b/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml index a6d568611f..45b794edff 100644 --- a/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml @@ -16,7 +16,7 @@ spack: cmake: externals: - spec: cmake@3.23.0 - prefix: /usr + prefix: /usr/local buildable: False mpich: externals: diff --git a/.github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml b/.github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml index 1543ec794c..b585b682be 100644 --- a/.github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml @@ -16,7 +16,7 @@ spack: cmake: externals: - spec: cmake@3.23.0 - prefix: /usr + prefix: /usr/local buildable: False openmpi: externals: diff --git a/.github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml b/.github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml index 8785650cf2..2815004df4 100644 --- a/.github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml @@ -16,7 +16,7 @@ spack: cmake: externals: - spec: cmake@3.23.0 - prefix: /usr + prefix: /usr/local buildable: False openmpi: externals: diff --git a/.github/ci/spack-envs/gcc_py_ompi_h5_ad2_arm64/spack.yaml b/.github/ci/spack-envs/gcc_py_ompi_h5_ad2_arm64/spack.yaml index 7f051faa79..0941ce4f86 100644 --- a/.github/ci/spack-envs/gcc_py_ompi_h5_ad2_arm64/spack.yaml +++ b/.github/ci/spack-envs/gcc_py_ompi_h5_ad2_arm64/spack.yaml @@ -16,7 +16,7 @@ spack: cmake: externals: - spec: cmake@3.22.1 - prefix: /usr + prefix: /usr/local buildable: False libfabric: externals: diff --git a/.github/workflows/dependencies/install_spack b/.github/workflows/dependencies/install_spack index 30d7d06a92..2376acd981 100755 --- a/.github/workflows/dependencies/install_spack +++ b/.github/workflows/dependencies/install_spack @@ -3,7 +3,7 @@ set -eu -o pipefail -spack_ver="0.17.1" +spack_ver="0.21.1" cd /opt if [[ -d spack && ! -f spack_${spack_ver} ]] diff --git a/.github/workflows/tooling.yml b/.github/workflows/tooling.yml index 96a1e5f8fd..0b581e5cc7 100644 --- a/.github/workflows/tooling.yml +++ b/.github/workflows/tooling.yml @@ -20,6 +20,9 @@ jobs: run: | sudo apt-get update sudo apt-get install clang clang-tidy gfortran libopenmpi-dev python + + which cmake + sudo .github/workflows/dependencies/install_spack - name: Build env: {CC: clang, CXX: clang++} From 1e89e1adb14167717e54c6e7e911d0ee37738964 Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Tue, 27 Feb 2024 13:51:06 -0800 Subject: [PATCH 2/9] Spack CI: Disable MGARD See https://github.com/CODARcode/MGARD/issues/229 --- .github/ci/spack-envs/clang14_py311_nompi_h5_ad2/spack.yaml | 2 +- .github/ci/spack-envs/clang7_nopy_ompi_h5_ad2/spack.yaml | 2 +- .github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml | 2 +- .github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml | 2 +- .github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml | 2 +- .github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml | 2 +- .github/ci/spack-envs/gcc_py_ompi_h5_ad2_arm64/spack.yaml | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/ci/spack-envs/clang14_py311_nompi_h5_ad2/spack.yaml b/.github/ci/spack-envs/clang14_py311_nompi_h5_ad2/spack.yaml index d06a6e3cae..ffd7995cae 100644 --- a/.github/ci/spack-envs/clang14_py311_nompi_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/clang14_py311_nompi_h5_ad2/spack.yaml @@ -13,7 +13,7 @@ spack: hdf5: variants: ~mpi adios2: - variants: ~mpi ~zfp ~sz ~png ~dataman ~python ~fortran ~ssc ~shared ~bzip2 + variants: ~mgard ~mpi ~zfp ~sz ~png ~dataman ~python ~fortran ~ssc ~shared ~bzip2 cmake: externals: - spec: cmake@3.22.1 diff --git a/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2/spack.yaml b/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2/spack.yaml index ccd5f9dd57..6271954f1b 100644 --- a/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2/spack.yaml @@ -12,7 +12,7 @@ spack: packages: adios2: - variants: ~zfp ~sz ~png ~dataman ~python ~fortran ~ssc ~shared ~bzip2 + variants: ~mgard ~zfp ~sz ~png ~dataman ~python ~fortran ~ssc ~shared ~bzip2 cmake: externals: - spec: cmake@3.23.0 diff --git a/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml b/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml index da7ec054c7..928a2e8d3d 100644 --- a/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml +++ b/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml @@ -12,7 +12,7 @@ spack: packages: adios2: - variants: ~zfp ~sz ~png ~dataman ~python ~fortran ~ssc ~shared ~bzip2 + variants: ~mgard ~zfp ~sz ~png ~dataman ~python ~fortran ~ssc ~shared ~bzip2 cmake: externals: - spec: cmake@3.23.0 diff --git a/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml b/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml index 45b794edff..b519163481 100644 --- a/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml @@ -12,7 +12,7 @@ spack: packages: adios2: - variants: ~zfp ~sz ~png ~dataman ~python ~fortran ~ssc ~shared ~bzip2 + variants: ~mgard ~zfp ~sz ~png ~dataman ~python ~fortran ~ssc ~shared ~bzip2 cmake: externals: - spec: cmake@3.23.0 diff --git a/.github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml b/.github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml index b585b682be..fcb1137b55 100644 --- a/.github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml @@ -12,7 +12,7 @@ spack: packages: adios2: - variants: ~zfp ~sz ~png ~dataman ~python ~fortran ~ssc ~shared ~bzip2 + variants: ~mgard ~zfp ~sz ~png ~dataman ~python ~fortran ~ssc ~shared ~bzip2 cmake: externals: - spec: cmake@3.23.0 diff --git a/.github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml b/.github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml index 2815004df4..74fd0f8229 100644 --- a/.github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml @@ -12,7 +12,7 @@ spack: packages: adios2: - variants: ~zfp ~sz ~png ~dataman ~python ~fortran ~ssc ~shared ~bzip2 + variants: ~mgard ~zfp ~sz ~png ~dataman ~python ~fortran ~ssc ~shared ~bzip2 cmake: externals: - spec: cmake@3.23.0 diff --git a/.github/ci/spack-envs/gcc_py_ompi_h5_ad2_arm64/spack.yaml b/.github/ci/spack-envs/gcc_py_ompi_h5_ad2_arm64/spack.yaml index 0941ce4f86..ffe630d906 100644 --- a/.github/ci/spack-envs/gcc_py_ompi_h5_ad2_arm64/spack.yaml +++ b/.github/ci/spack-envs/gcc_py_ompi_h5_ad2_arm64/spack.yaml @@ -12,7 +12,7 @@ spack: packages: adios2: - variants: ~zfp ~sz ~png ~dataman ~python ~fortran ~ssc ~shared ~bzip2 + variants: ~mgard ~zfp ~sz ~png ~dataman ~python ~fortran ~ssc ~shared ~bzip2 cmake: externals: - spec: cmake@3.22.1 From 5d03d5e0b2002fcb7738e8107750a0760e898808 Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Tue, 27 Feb 2024 15:58:57 -0800 Subject: [PATCH 3/9] Avoid Compiling ADIOS 2.7.1 w/ Clang Compile issue. --- .github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml | 2 +- .github/ci/spack-envs/gcc_py_ompi_h5_ad2_arm64/spack.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml b/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml index b519163481..03656c2b11 100644 --- a/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml @@ -6,7 +6,7 @@ # spack: specs: - - adios2@2.7.1 + - adios2 - hdf5 - mpich diff --git a/.github/ci/spack-envs/gcc_py_ompi_h5_ad2_arm64/spack.yaml b/.github/ci/spack-envs/gcc_py_ompi_h5_ad2_arm64/spack.yaml index ffe630d906..d647abfbcb 100644 --- a/.github/ci/spack-envs/gcc_py_ompi_h5_ad2_arm64/spack.yaml +++ b/.github/ci/spack-envs/gcc_py_ompi_h5_ad2_arm64/spack.yaml @@ -6,7 +6,7 @@ # spack: specs: - - adios2 + - adios2@2.7.1 - hdf5 - openmpi From af7913184eb3cb2046cf96ad251596c184b5a4b2 Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Tue, 12 Mar 2024 10:21:02 -0700 Subject: [PATCH 4/9] Spack 0.21.2 --- .github/workflows/dependencies/install_spack | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dependencies/install_spack b/.github/workflows/dependencies/install_spack index 2376acd981..2d1e210117 100755 --- a/.github/workflows/dependencies/install_spack +++ b/.github/workflows/dependencies/install_spack @@ -3,7 +3,7 @@ set -eu -o pipefail -spack_ver="0.21.1" +spack_ver="0.21.2" cd /opt if [[ -d spack && ! -f spack_${spack_ver} ]] From 33e3e65fbfa97267679e1bfdbcd1afed67681fcd Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Tue, 12 Mar 2024 11:05:38 -0700 Subject: [PATCH 5/9] Try Spack GH Action --- .../clang7_nopy_ompi_h5_ad2/spack.yaml | 3 +++ .github/workflows/linux.yml | 19 +++++++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2/spack.yaml b/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2/spack.yaml index 6271954f1b..e2ce348f5c 100644 --- a/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2/spack.yaml @@ -60,3 +60,6 @@ spack: mirrors: E4S: https://cache.e4s.io + local-buildcache: + url: oci://ghcr.io/openPMD/spack-buildcache + signed: false diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index d90fc6c863..1ebfe9f792 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -85,6 +85,8 @@ jobs: clang7_nopy_ompi_h5_ad2: runs-on: ubuntu-20.04 + permissions: + packages: write if: github.event.pull_request.draft == false steps: - uses: actions/checkout@v3 @@ -95,12 +97,19 @@ jobs: run: | sudo apt-get update sudo apt-get install clang-7 gfortran libopenmpi-dev python3 - sudo .github/workflows/dependencies/install_spack + - name: Set up Spack + uses: spack/setup-spack@v2 + with: + ref: 187b8adb4faa7ad8e5de0baab9a610d158772823 + buildcache: true + color: true + path: /opt/spack - name: Build env: {CC: clang-7, CXX: clang++-7, CXXFLAGS: -Werror} + shell: spack-bash {0} run: | eval $(spack env activate --sh .github/ci/spack-envs/clang7_nopy_ompi_h5_ad2/) - spack install + spack install --no-check-signature share/openPMD/download_samples.sh build cmake -S . -B build \ @@ -114,6 +123,12 @@ jobs: cd build ctest --output-on-failure + - name: Push packages and update index + run: | + spack -e . mirror set --push --oci-username ${{ github.actor }} --oci-password "${{ secrets.GITHUB_TOKEN }}" local-buildcache + spack -e . buildcache push --base-image ubuntu:20.04 --update-index local-buildcache + if: ${{ !cancelled() }} + # TODO # clang7_py36_nompi_h5_ad2_libstdc++ From 8d8b8f9040701f45673c30fecac81ab911e0298b Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Tue, 12 Mar 2024 14:57:51 -0700 Subject: [PATCH 6/9] Spack Action: Setup relative in `opt/spack/` CI was not accepting `/opt/spack` in checkout of action. --- .github/workflows/linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 1ebfe9f792..5fdc756042 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -103,7 +103,7 @@ jobs: ref: 187b8adb4faa7ad8e5de0baab9a610d158772823 buildcache: true color: true - path: /opt/spack + path: opt/spack - name: Build env: {CC: clang-7, CXX: clang++-7, CXXFLAGS: -Werror} shell: spack-bash {0} From 791339b5a449483b0cfefb9f58cd0053d703e191 Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Tue, 11 Jun 2024 13:39:02 -0700 Subject: [PATCH 7/9] Spack v0.22.0 --- .github/workflows/dependencies/install_spack | 2 +- .github/workflows/linux.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dependencies/install_spack b/.github/workflows/dependencies/install_spack index 2d1e210117..e125eefa30 100755 --- a/.github/workflows/dependencies/install_spack +++ b/.github/workflows/dependencies/install_spack @@ -3,7 +3,7 @@ set -eu -o pipefail -spack_ver="0.21.2" +spack_ver="0.22.0" cd /opt if [[ -d spack && ! -f spack_${spack_ver} ]] diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 5fdc756042..3f99595ddc 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -100,7 +100,7 @@ jobs: - name: Set up Spack uses: spack/setup-spack@v2 with: - ref: 187b8adb4faa7ad8e5de0baab9a610d158772823 + ref: v0.22.0 buildcache: true color: true path: opt/spack From febd21413940a674a6f6180d3a74a97afead4971 Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Tue, 16 Jul 2024 11:02:23 -0700 Subject: [PATCH 8/9] CI: Spack v0.22.1 --- .github/workflows/dependencies/install_spack | 2 +- .github/workflows/linux.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dependencies/install_spack b/.github/workflows/dependencies/install_spack index e125eefa30..6f7260e75c 100755 --- a/.github/workflows/dependencies/install_spack +++ b/.github/workflows/dependencies/install_spack @@ -3,7 +3,7 @@ set -eu -o pipefail -spack_ver="0.22.0" +spack_ver="0.22.1" cd /opt if [[ -d spack && ! -f spack_${spack_ver} ]] diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 3f99595ddc..3efe398308 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -100,7 +100,7 @@ jobs: - name: Set up Spack uses: spack/setup-spack@v2 with: - ref: v0.22.0 + ref: v0.22.1 buildcache: true color: true path: opt/spack From abaff8f9c4cc79aa7930e6e842599c0861a2e929 Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Tue, 1 Oct 2024 15:56:34 -0700 Subject: [PATCH 9/9] CI: Spack v0.22.2 --- .github/workflows/dependencies/install_spack | 2 +- .github/workflows/linux.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dependencies/install_spack b/.github/workflows/dependencies/install_spack index 6f7260e75c..837bfefffc 100755 --- a/.github/workflows/dependencies/install_spack +++ b/.github/workflows/dependencies/install_spack @@ -3,7 +3,7 @@ set -eu -o pipefail -spack_ver="0.22.1" +spack_ver="0.22.2" cd /opt if [[ -d spack && ! -f spack_${spack_ver} ]] diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 3efe398308..8eb33a30c6 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -100,7 +100,7 @@ jobs: - name: Set up Spack uses: spack/setup-spack@v2 with: - ref: v0.22.1 + ref: v0.22.2 buildcache: true color: true path: opt/spack