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..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,11 +13,11 @@ 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 - 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..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 @@ -12,11 +12,11 @@ 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 - prefix: /usr + prefix: /usr/local buildable: False openmpi: externals: @@ -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/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..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,11 +12,11 @@ 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 - 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..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,17 +6,17 @@ # spack: specs: - - adios2@2.7.1 + - adios2 - hdf5 - mpich 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 - 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..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,11 +12,11 @@ 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 - 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..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,11 +12,11 @@ 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 - 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..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,17 +6,17 @@ # spack: specs: - - adios2 + - adios2@2.7.1 - hdf5 - openmpi 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 - 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..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.17.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 d90fc6c863..8eb33a30c6 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: v0.22.2 + 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++ 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++}