diff --git a/.github/workflows/everything.yml b/.github/workflows/everything.yml index ad7ae098c4..8b413719e1 100644 --- a/.github/workflows/everything.yml +++ b/.github/workflows/everything.yml @@ -108,13 +108,13 @@ jobs: # Build and test jobs ####################################### - linux_ubuntu: + ubuntu: needs: [format, git_checks] if: needs.git_checks.outputs.num_code_changes > 0 runs-on: ubuntu-20.04 container: - image: ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-${{ matrix.compiler }} + image: ghcr.io/ornladios/adios2:ci-spack-${{ matrix.os }}-${{ matrix.compiler }} options: --shm-size=1g env: GH_YML_JOBNAME: ${{ matrix.os }}-${{ matrix.compiler }}${{ matrix.shared == 'static' && '-static' || ''}}-${{ matrix.parallel }} @@ -131,8 +131,7 @@ jobs: fail-fast: false matrix: os: [ubuntu20.04] - compiler: [gcc8, gcc9, gcc10, gcc11, clang6, clang10] - shared: [shared] + compiler: [gcc8, gcc9, gcc10, clang6, clang10] parallel: [mpich] include: - os: ubuntu20.04 @@ -149,22 +148,25 @@ jobs: parallel: serial - os: ubuntu20.04 compiler: gcc8 + parallel: serial shared: static - parallel: ompi - constrains: build_only - os: ubuntu20.04 - compiler: clang6 + compiler: gcc8 shared: static - parallel: ompi + parallel: mpich constrains: build_only - os: ubuntu20.04 - compiler: gcc8 + compiler: clang6 shared: static - parallel: serial + parallel: mpich + constrains: build_only - os: ubuntu22.04 compiler: rocm parallel: serial constrains: build_only + - os: ubuntu22.04 + compiler: gcc11 + parallel: mpich steps: - uses: actions/checkout@v4 with: @@ -204,7 +206,7 @@ jobs: if: ${{ matrix.constrains != 'build_only' }} run: gha/scripts/ci/gh-actions/run.sh test - linux_el8: + el8: needs: [format, git_checks] if: needs.git_checks.outputs.num_code_changes > 0 @@ -574,7 +576,7 @@ jobs: ####################################### build_and_test: - needs: [linux_el8, linux_ubuntu, macos, docker, contract] + needs: [el8, ubuntu, macos, docker, contract] runs-on: ubuntu-latest steps: - run: echo "All required jobs complete" diff --git a/scripts/ci/cmake/ci-ubuntu20.04-clang6-static-ompi.cmake b/scripts/ci/cmake/ci-ubuntu20.04-clang6-static-mpich.cmake similarity index 100% rename from scripts/ci/cmake/ci-ubuntu20.04-clang6-static-ompi.cmake rename to scripts/ci/cmake/ci-ubuntu20.04-clang6-static-mpich.cmake diff --git a/scripts/ci/cmake/ci-ubuntu20.04-gcc11-ompi.cmake b/scripts/ci/cmake/ci-ubuntu20.04-gcc11-ompi.cmake deleted file mode 100644 index 722776a8cd..0000000000 --- a/scripts/ci/cmake/ci-ubuntu20.04-gcc11-ompi.cmake +++ /dev/null @@ -1,38 +0,0 @@ -set(ENV{CC} gcc) -set(ENV{CXX} g++) -set(ENV{FC} gfortran) - -execute_process( - COMMAND "python3-config" "--prefix" - OUTPUT_VARIABLE PY_ROOT - OUTPUT_STRIP_TRAILING_WHITESPACE) - -set(dashboard_cache " -BUILD_TESTING:BOOL=ON -ADIOS2_BUILD_EXAMPLES:BOOL=ON - -ADIOS2_USE_BZip2:BOOL=ON -ADIOS2_USE_Blosc2:BOOL=ON -ADIOS2_USE_DataMan:BOOL=ON -ADIOS2_USE_Fortran:BOOL=ON -ADIOS2_USE_HDF5:BOOL=ON -ADIOS2_USE_MPI:BOOL=ON -ADIOS2_USE_Python:BOOL=ON -ADIOS2_USE_SZ:BOOL=ON -ADIOS2_USE_ZeroMQ:STRING=ON -ADIOS2_USE_ZFP:BOOL=ON - -Python_ROOT_DIR:PATH=${PY_ROOT} -Python_FIND_STRATEGY:STRING=LOCATION -Python_FIND_FRAMEWORK:STRING=FIRST - -CMAKE_C_COMPILER_LAUNCHER=ccache -CMAKE_CXX_COMPILER_LAUNCHER=ccache -CMAKE_C_FLAGS:STRING=-Wall -CMAKE_CXX_FLAGS:STRING=-Wall -CMAKE_Fortran_FLAGS:STRING=-Wall -") - -set(CTEST_CMAKE_GENERATOR "Ninja") -list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") -include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) diff --git a/scripts/ci/cmake/ci-ubuntu20.04-gcc11-serial.cmake b/scripts/ci/cmake/ci-ubuntu20.04-gcc11-serial.cmake deleted file mode 100644 index e459b5f536..0000000000 --- a/scripts/ci/cmake/ci-ubuntu20.04-gcc11-serial.cmake +++ /dev/null @@ -1,38 +0,0 @@ -set(ENV{CC} gcc) -set(ENV{CXX} g++) -set(ENV{FC} gfortran) - -execute_process( - COMMAND "python3-config" "--prefix" - OUTPUT_VARIABLE PY_ROOT - OUTPUT_STRIP_TRAILING_WHITESPACE) - -set(dashboard_cache " -BUILD_TESTING:BOOL=ON -ADIOS2_BUILD_EXAMPLES:BOOL=ON - -ADIOS2_USE_BZip2:BOOL=ON -ADIOS2_USE_Blosc2:BOOL=ON -ADIOS2_USE_DataMan:BOOL=ON -ADIOS2_USE_Fortran:BOOL=ON -ADIOS2_USE_HDF5:BOOL=ON -ADIOS2_USE_MPI:BOOL=OFF -ADIOS2_USE_Python:BOOL=ON -ADIOS2_USE_SZ:BOOL=ON -ADIOS2_USE_ZeroMQ:STRING=ON -ADIOS2_USE_ZFP:BOOL=ON - -Python_ROOT_DIR:PATH=${PY_ROOT} -Python_FIND_STRATEGY:STRING=LOCATION -Python_FIND_FRAMEWORK:STRING=FIRST - -CMAKE_C_COMPILER_LAUNCHER=ccache -CMAKE_CXX_COMPILER_LAUNCHER=ccache -CMAKE_C_FLAGS:STRING=-Wall -CMAKE_CXX_FLAGS:STRING=-Wall -CMAKE_Fortran_FLAGS:STRING=-Wall -") - -set(CTEST_CMAKE_GENERATOR "Ninja") -list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") -include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) diff --git a/scripts/ci/cmake/ci-ubuntu20.04-gcc8-static-ompi.cmake b/scripts/ci/cmake/ci-ubuntu20.04-gcc8-static-mpich.cmake similarity index 100% rename from scripts/ci/cmake/ci-ubuntu20.04-gcc8-static-ompi.cmake rename to scripts/ci/cmake/ci-ubuntu20.04-gcc8-static-mpich.cmake diff --git a/scripts/ci/cmake/ci-ubuntu20.04-gcc11-mpich.cmake b/scripts/ci/cmake/ci-ubuntu22.04-gcc11-mpich.cmake similarity index 100% rename from scripts/ci/cmake/ci-ubuntu20.04-gcc11-mpich.cmake rename to scripts/ci/cmake/ci-ubuntu22.04-gcc11-mpich.cmake diff --git a/scripts/ci/images/build-ubuntu.sh b/scripts/ci/images/build-ubuntu.sh index 120ac24422..99fb3439d3 100755 --- a/scripts/ci/images/build-ubuntu.sh +++ b/scripts/ci/images/build-ubuntu.sh @@ -3,25 +3,33 @@ set -ex # Build the base image -docker build --progress=plain --build-arg EXTRA_VARIANTS="+blosc+ssc" --rm -f ./Dockerfile.ci-spack-ubuntu20.04-base -t ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-base . - -# Which is also the gcc11 image -docker tag ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-base ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-gcc11 +docker build --progress=plain --build-arg EXTRA_VARIANTS="+blosc+ssc ^mgard@2023-01-10" --rm -f ./Dockerfile.ci-spack-ubuntu20.04-base -t ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-base . # Build the gcc8, gcc9, and gcc10 images docker build --rm --build-arg GCC_VERSION=8 -f ./Dockerfile.ci-spack-ubuntu20.04-gcc -t ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-gcc8 . -docker build --rm --build-arg GCC_VERSION=9 -f ./Dockerfile.ci-spack-ubuntu20.04-gcc -t ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-gcc9 . docker build --rm --build-arg GCC_VERSION=10 -f ./Dockerfile.ci-spack-ubuntu20.04-gcc -t ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-gcc10 . +docker build --rm --build-arg GCC_VERSION=9 -f ./Dockerfile.ci-spack-ubuntu20.04-gcc -t ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-gcc9 . # Build the clang6 and clang10 images docker build --rm --build-arg CLANG_VERSION=6.0 -f ./Dockerfile.ci-spack-ubuntu20.04-clang -t ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-clang6 . docker build --rm --build-arg CLANG_VERSION=10 -f ./Dockerfile.ci-spack-ubuntu20.04-clang -t ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-clang10 . +# Build the ubuntu 22.04 img +docker build \ + --progress=plain \ + --rm \ + --build-arg BASE_IMAGE="ecpe4s/ubuntu22.04-runner-amd64-gcc-11.4:2024.04.19" \ + --build-arg E4S_VERSION="24.05" \ + --build-arg EXTRA_VARIANTS="+blosc2" \ + -f ./Dockerfile.ci-spack-ubuntu20.04-base \ + -t ghcr.io/ornladios/adios2:ci-spack-ubuntu22.04-gcc11 \ + . + # Push images to github container registry docker push ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-base docker push ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-gcc8 docker push ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-gcc9 docker push ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-gcc10 -docker push ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-gcc11 docker push ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-clang6 docker push ghcr.io/ornladios/adios2:ci-spack-ubuntu20.04-clang10 +docker push ghcr.io/ornladios/adios2:ci-spack-ubuntu22.04-gcc11 diff --git a/scripts/ci/images/packages.yaml b/scripts/ci/images/packages.yaml index 34a3e148e7..39379d6c61 100644 --- a/scripts/ci/images/packages.yaml +++ b/scripts/ci/images/packages.yaml @@ -2,10 +2,8 @@ packages: all: target: [haswell] adios2: - require: '+bzip2+zfp+sz+png+sst+dataman+hdf5+python+fortran' + require: '+bzip2+mgard+zfp+sz+png+sst+dataman+hdf5+python+fortran' mpich: require: 'device=ch3:sock' openmpi: require: '@4.1' - mgard: - require: '@2023-01-10' diff --git a/scripts/ci/setup-run/ci-ubuntu20.04-gcc11.sh b/scripts/ci/setup-run/ci-ubuntu22.04-gcc11.sh similarity index 100% rename from scripts/ci/setup-run/ci-ubuntu20.04-gcc11.sh rename to scripts/ci/setup-run/ci-ubuntu22.04-gcc11.sh