diff --git a/.github/workflows/everything.yml b/.github/workflows/everything.yml index 4d3cad21c8..5d67b0669a 100644 --- a/.github/workflows/everything.yml +++ b/.github/workflows/everything.yml @@ -13,6 +13,17 @@ # may have made it to the target branch after the pull_request was started. ####################################### +####################################### +# Note regarding restore/save of cache for use by ccache: +# +# We only save cache on main branch runs. PR workflows only consume the +# cache to avoid exceeding the 10 GB limit, which can cause cache thrashing. +# Also, we only save the cache if there was *not* an exact match when cache +# was restored. This avoids attempting to write to an existing cache key, +# which results in failure to save the cache. While failure to save doesn't +# cause job failures, it seems a waste and is easily avoidable. +####################################### + name: GitHub Actions on: @@ -105,6 +116,10 @@ jobs: GH_YML_MATRIX_OS: ${{ matrix.os }} GH_YML_MATRIX_COMPILER: ${{ matrix.compiler }} GH_YML_MATRIX_PARALLEL: ${{ matrix.parallel }} + CCACHE_BASEDIR: "${GITHUB_WORKSPACE}" + CCACHE_DIR: "${GITHUB_WORKSPACE}/.ccache" + CCACHE_COMPRESS: true + CCACHE_COMPRESSLEVEL: 6 strategy: fail-fast: false @@ -131,6 +146,16 @@ jobs: with: ref: ${{ github.event.pull_request.head.sha }} path: source + - name: Restore cache + uses: actions/cache/restore@v3 + id: restore-cache + with: + path: .ccache + key: ccache-${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.parallel }}-${{ github.sha }} + restore-keys: | + ccache-${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.parallel }} + - name: Configure cache + run: ccache -z - name: Setup run: gha/scripts/ci/gh-actions/linux-setup.sh - name: Update @@ -139,6 +164,15 @@ jobs: run: gha/scripts/ci/gh-actions/run.sh configure - name: Build run: gha/scripts/ci/gh-actions/run.sh build + - name: Print ccache statistics + run: ccache -s + - name: Save cache + uses: actions/cache/save@v3 + if: github.ref_name == 'master' && steps.restore-cache.outputs.cache-hit == 'false' + id: save-cache + with: + path: .ccache + key: ccache-${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.parallel }}-${{ github.sha }} - name: Test run: gha/scripts/ci/gh-actions/run.sh test @@ -156,6 +190,10 @@ jobs: GH_YML_MATRIX_OS: ${{ matrix.os }} GH_YML_MATRIX_COMPILER: ${{ matrix.compiler }} GH_YML_MATRIX_PARALLEL: ${{ matrix.parallel }} + CCACHE_BASEDIR: "${GITHUB_WORKSPACE}" + CCACHE_DIR: "${GITHUB_WORKSPACE}/.ccache" + CCACHE_COMPRESS: true + CCACHE_COMPRESSLEVEL: 6 strategy: fail-fast: false @@ -172,6 +210,16 @@ jobs: with: ref: ${{ github.event.pull_request.head.sha }} path: source + - name: Restore cache + uses: actions/cache/restore@v3 + id: restore-cache + with: + path: .ccache + key: ccache-${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.parallel }}-${{ github.sha }} + restore-keys: | + ccache-${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.parallel }} + - name: Configure cache + run: ccache -z - name: Setup run: gha/scripts/ci/gh-actions/linux-setup.sh - name: Update @@ -180,6 +228,15 @@ jobs: run: gha/scripts/ci/gh-actions/run.sh configure - name: Build run: gha/scripts/ci/gh-actions/run.sh build + - name: Print ccache statistics + run: ccache -s + - name: Save cache + uses: actions/cache/save@v3 + if: github.ref_name == 'master' && steps.restore-cache.outputs.cache-hit == 'false' + id: save-cache + with: + path: .ccache + key: ccache-${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.parallel }}-${{ github.sha }} - name: Test run: gha/scripts/ci/gh-actions/run.sh test @@ -194,6 +251,10 @@ jobs: GH_YML_MATRIX_OS: ${{ matrix.os }} GH_YML_MATRIX_COMPILER: ${{ matrix.compiler }} GH_YML_MATRIX_PARALLEL: ${{ matrix.parallel }} + CCACHE_BASEDIR: "${GITHUB_WORKSPACE}" + CCACHE_DIR: "${GITHUB_WORKSPACE}/.ccache" + CCACHE_COMPRESS: true + CCACHE_COMPRESSLEVEL: 6 strategy: fail-fast: false @@ -218,16 +279,34 @@ jobs: path: source - name: Setup run: gha/scripts/ci/gh-actions/macos-setup.sh + - name: Restore cache + uses: actions/cache/restore@v3 + id: restore-cache + with: + path: .ccache + key: ccache-${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.parallel }}-${{ github.sha }} + restore-keys: | + ccache-${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.parallel }} + - name: Configure cache + run: ccache -z - name: Update run: gha/scripts/ci/gh-actions/run.sh update - name: Configure run: gha/scripts/ci/gh-actions/run.sh configure - name: Build run: gha/scripts/ci/gh-actions/run.sh build + - name: Print ccache statistics + run: ccache -s + - name: Save cache + uses: actions/cache/save@v3 + if: github.ref_name == 'master' && steps.restore-cache.outputs.cache-hit == 'false' + id: save-cache + with: + path: .ccache + key: ccache-${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.parallel }}-${{ github.sha }} - name: Test run: gha/scripts/ci/gh-actions/run.sh test - windows: needs: [format, git_checks] if: needs.git_checks.outputs.num_code_changes > 0 diff --git a/scripts/ci/cmake/ci-el8-icc-ompi.cmake b/scripts/ci/cmake/ci-el8-icc-ompi.cmake index 8780804c15..940150f1f3 100644 --- a/scripts/ci/cmake/ci-el8-icc-ompi.cmake +++ b/scripts/ci/cmake/ci-el8-icc-ompi.cmake @@ -19,6 +19,8 @@ ADIOS2_USE_SZ:BOOL=ON ADIOS2_USE_ZeroMQ:STRING=ON ADIOS2_USE_ZFP:BOOL=ON +CMAKE_C_COMPILER_LAUNCHER=ccache +CMAKE_CXX_COMPILER_LAUNCHER=ccache CMAKE_C_FLAGS:STRING=-Wall -diag-disable=10441 CMAKE_C_FLAGS_DEBUG:STRING=-g -O0 CMAKE_CXX_FLAGS:STRING=-Wall -diag-disable=10441 diff --git a/scripts/ci/cmake/ci-el8-icc-serial.cmake b/scripts/ci/cmake/ci-el8-icc-serial.cmake index 3aa93d3da6..65b9d1c8a6 100644 --- a/scripts/ci/cmake/ci-el8-icc-serial.cmake +++ b/scripts/ci/cmake/ci-el8-icc-serial.cmake @@ -15,6 +15,8 @@ ADIOS2_USE_SZ:BOOL=ON ADIOS2_USE_ZeroMQ:STRING=ON ADIOS2_USE_ZFP:BOOL=ON +CMAKE_C_COMPILER_LAUNCHER=ccache +CMAKE_CXX_COMPILER_LAUNCHER=ccache CMAKE_C_FLAGS:STRING=-Wall -diag-disable=10441 CMAKE_C_FLAGS_DEBUG:STRING=-g -O0 CMAKE_CXX_FLAGS:STRING=-Wall -diag-disable=10441 diff --git a/scripts/ci/cmake/ci-el8-oneapi-ompi.cmake b/scripts/ci/cmake/ci-el8-oneapi-ompi.cmake index ee8163d468..ceed5a8133 100644 --- a/scripts/ci/cmake/ci-el8-oneapi-ompi.cmake +++ b/scripts/ci/cmake/ci-el8-oneapi-ompi.cmake @@ -19,6 +19,8 @@ ADIOS2_USE_SZ:BOOL=ON ADIOS2_USE_ZeroMQ:STRING=ON ADIOS2_USE_ZFP:BOOL=ON +CMAKE_C_COMPILER_LAUNCHER=ccache +CMAKE_CXX_COMPILER_LAUNCHER=ccache CMAKE_C_FLAGS:STRING=-Wall CMAKE_C_FLAGS_DEBUG:STRING=-g -O0 CMAKE_CXX_FLAGS:STRING=-Wall diff --git a/scripts/ci/cmake/ci-el8-oneapi-serial.cmake b/scripts/ci/cmake/ci-el8-oneapi-serial.cmake index 0171b05df4..36a4299512 100644 --- a/scripts/ci/cmake/ci-el8-oneapi-serial.cmake +++ b/scripts/ci/cmake/ci-el8-oneapi-serial.cmake @@ -15,6 +15,8 @@ ADIOS2_USE_SZ:BOOL=ON ADIOS2_USE_ZeroMQ:STRING=ON ADIOS2_USE_ZFP:BOOL=ON +CMAKE_C_COMPILER_LAUNCHER=ccache +CMAKE_CXX_COMPILER_LAUNCHER=ccache CMAKE_C_FLAGS:STRING=-Wall CMAKE_C_FLAGS_DEBUG:STRING=-g -O0 CMAKE_CXX_FLAGS:STRING=-Wall diff --git a/scripts/ci/cmake/ci-macos1015-xcode1211-make.cmake b/scripts/ci/cmake/ci-macos1015-xcode1211-make.cmake index 5852b90ad3..79c9754864 100644 --- a/scripts/ci/cmake/ci-macos1015-xcode1211-make.cmake +++ b/scripts/ci/cmake/ci-macos1015-xcode1211-make.cmake @@ -8,6 +8,8 @@ ADIOS2_USE_Fortran:BOOL=ON ADIOS2_USE_MPI:BOOL=OFF ADISO2_USE_Python:BOOL=ON +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 diff --git a/scripts/ci/cmake/ci-macos11-xcode131-ninja.cmake b/scripts/ci/cmake/ci-macos11-xcode131-ninja.cmake index 9ae02889fe..f70190daf8 100644 --- a/scripts/ci/cmake/ci-macos11-xcode131-ninja.cmake +++ b/scripts/ci/cmake/ci-macos11-xcode131-ninja.cmake @@ -8,6 +8,8 @@ ADIOS2_USE_Fortran:BOOL=ON ADIOS2_USE_MPI:BOOL=OFF ADIOS2_USE_Python:BOOL=ON +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 diff --git a/scripts/ci/cmake/ci-macos11-xcode13_0-serial.cmake b/scripts/ci/cmake/ci-macos11-xcode13_0-serial.cmake index 5e1bd36186..6c7499bb73 100644 --- a/scripts/ci/cmake/ci-macos11-xcode13_0-serial.cmake +++ b/scripts/ci/cmake/ci-macos11-xcode13_0-serial.cmake @@ -8,6 +8,8 @@ ADIOS2_USE_Fortran:BOOL=ON ADIOS2_USE_MPI:BOOL=OFF ADISO2_USE_Python:BOOL=ON +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 diff --git a/scripts/ci/cmake/ci-macos12-xcode13_4_1-serial.cmake b/scripts/ci/cmake/ci-macos12-xcode13_4_1-serial.cmake index 37ceb637c3..e9c28d0a63 100644 --- a/scripts/ci/cmake/ci-macos12-xcode13_4_1-serial.cmake +++ b/scripts/ci/cmake/ci-macos12-xcode13_4_1-serial.cmake @@ -8,6 +8,8 @@ ADIOS2_USE_Fortran:BOOL=ON ADIOS2_USE_MPI:BOOL=OFF ADISO2_USE_Python:BOOL=ON +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 diff --git a/scripts/ci/cmake/ci-ubuntu20.04-clang10-ompi.cmake b/scripts/ci/cmake/ci-ubuntu20.04-clang10-ompi.cmake index 7ebb831301..a5bfaa0c73 100644 --- a/scripts/ci/cmake/ci-ubuntu20.04-clang10-ompi.cmake +++ b/scripts/ci/cmake/ci-ubuntu20.04-clang10-ompi.cmake @@ -27,6 +27,8 @@ 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 diff --git a/scripts/ci/cmake/ci-ubuntu20.04-clang10-serial.cmake b/scripts/ci/cmake/ci-ubuntu20.04-clang10-serial.cmake index 96d0c1fe3e..9b60d90964 100644 --- a/scripts/ci/cmake/ci-ubuntu20.04-clang10-serial.cmake +++ b/scripts/ci/cmake/ci-ubuntu20.04-clang10-serial.cmake @@ -23,6 +23,8 @@ 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 diff --git a/scripts/ci/cmake/ci-ubuntu20.04-clang6-ompi.cmake b/scripts/ci/cmake/ci-ubuntu20.04-clang6-ompi.cmake index 00c3577544..27015806d8 100644 --- a/scripts/ci/cmake/ci-ubuntu20.04-clang6-ompi.cmake +++ b/scripts/ci/cmake/ci-ubuntu20.04-clang6-ompi.cmake @@ -27,6 +27,8 @@ 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 diff --git a/scripts/ci/cmake/ci-ubuntu20.04-clang6-serial.cmake b/scripts/ci/cmake/ci-ubuntu20.04-clang6-serial.cmake index 0357b98fc5..f298fe20b6 100644 --- a/scripts/ci/cmake/ci-ubuntu20.04-clang6-serial.cmake +++ b/scripts/ci/cmake/ci-ubuntu20.04-clang6-serial.cmake @@ -23,6 +23,8 @@ 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 diff --git a/scripts/ci/cmake/ci-ubuntu20.04-gcc10-mpich.cmake b/scripts/ci/cmake/ci-ubuntu20.04-gcc10-mpich.cmake index a51bfe97a8..1db0a5ee9f 100644 --- a/scripts/ci/cmake/ci-ubuntu20.04-gcc10-mpich.cmake +++ b/scripts/ci/cmake/ci-ubuntu20.04-gcc10-mpich.cmake @@ -27,6 +27,8 @@ 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 diff --git a/scripts/ci/cmake/ci-ubuntu20.04-gcc10-ompi.cmake b/scripts/ci/cmake/ci-ubuntu20.04-gcc10-ompi.cmake index 8bc947c2d8..b56bfc5f62 100644 --- a/scripts/ci/cmake/ci-ubuntu20.04-gcc10-ompi.cmake +++ b/scripts/ci/cmake/ci-ubuntu20.04-gcc10-ompi.cmake @@ -27,6 +27,8 @@ 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 diff --git a/scripts/ci/cmake/ci-ubuntu20.04-gcc10-serial.cmake b/scripts/ci/cmake/ci-ubuntu20.04-gcc10-serial.cmake index 4801f3f4d9..2e2855cb92 100644 --- a/scripts/ci/cmake/ci-ubuntu20.04-gcc10-serial.cmake +++ b/scripts/ci/cmake/ci-ubuntu20.04-gcc10-serial.cmake @@ -23,6 +23,8 @@ 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 diff --git a/scripts/ci/cmake/ci-ubuntu20.04-gcc11-ompi.cmake b/scripts/ci/cmake/ci-ubuntu20.04-gcc11-ompi.cmake index 8bc947c2d8..b56bfc5f62 100644 --- a/scripts/ci/cmake/ci-ubuntu20.04-gcc11-ompi.cmake +++ b/scripts/ci/cmake/ci-ubuntu20.04-gcc11-ompi.cmake @@ -27,6 +27,8 @@ 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 diff --git a/scripts/ci/cmake/ci-ubuntu20.04-gcc11-serial.cmake b/scripts/ci/cmake/ci-ubuntu20.04-gcc11-serial.cmake index 4801f3f4d9..2e2855cb92 100644 --- a/scripts/ci/cmake/ci-ubuntu20.04-gcc11-serial.cmake +++ b/scripts/ci/cmake/ci-ubuntu20.04-gcc11-serial.cmake @@ -23,6 +23,8 @@ 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 diff --git a/scripts/ci/cmake/ci-ubuntu20.04-gcc8-ompi.cmake b/scripts/ci/cmake/ci-ubuntu20.04-gcc8-ompi.cmake index 8bc947c2d8..b56bfc5f62 100644 --- a/scripts/ci/cmake/ci-ubuntu20.04-gcc8-ompi.cmake +++ b/scripts/ci/cmake/ci-ubuntu20.04-gcc8-ompi.cmake @@ -27,6 +27,8 @@ 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 diff --git a/scripts/ci/cmake/ci-ubuntu20.04-gcc8-serial.cmake b/scripts/ci/cmake/ci-ubuntu20.04-gcc8-serial.cmake index 4801f3f4d9..2e2855cb92 100644 --- a/scripts/ci/cmake/ci-ubuntu20.04-gcc8-serial.cmake +++ b/scripts/ci/cmake/ci-ubuntu20.04-gcc8-serial.cmake @@ -23,6 +23,8 @@ 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 diff --git a/scripts/ci/cmake/ci-ubuntu20.04-gcc9-ompi.cmake b/scripts/ci/cmake/ci-ubuntu20.04-gcc9-ompi.cmake index 8bc947c2d8..b56bfc5f62 100644 --- a/scripts/ci/cmake/ci-ubuntu20.04-gcc9-ompi.cmake +++ b/scripts/ci/cmake/ci-ubuntu20.04-gcc9-ompi.cmake @@ -27,6 +27,8 @@ 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 diff --git a/scripts/ci/cmake/ci-ubuntu20.04-gcc9-serial.cmake b/scripts/ci/cmake/ci-ubuntu20.04-gcc9-serial.cmake index 4801f3f4d9..2e2855cb92 100644 --- a/scripts/ci/cmake/ci-ubuntu20.04-gcc9-serial.cmake +++ b/scripts/ci/cmake/ci-ubuntu20.04-gcc9-serial.cmake @@ -23,6 +23,8 @@ 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 diff --git a/scripts/ci/cmake/ci-win2019-vs2019-msmpi.cmake b/scripts/ci/cmake/ci-win2019-vs2019-msmpi.cmake index 203dec8fd9..9783a487ae 100644 --- a/scripts/ci/cmake/ci-win2019-vs2019-msmpi.cmake +++ b/scripts/ci/cmake/ci-win2019-vs2019-msmpi.cmake @@ -19,6 +19,6 @@ MPIEXEC_MAX_NUMPROCS:STRING=${N2CPUS} set(CTEST_TEST_ARGS PARALLEL_LEVEL 1) #set(CTEST_CMAKE_GENERATOR "Ninja") set(CTEST_CMAKE_GENERATOR "Visual Studio 16 2019") -set(CTEST_CMAKE_GENERATOR_PLATFORM "x64") +set(CTEST_CMAKE_GENERATOR_PLATFORM "x64") 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-win2019-vs2019-ninja.cmake b/scripts/ci/cmake/ci-win2019-vs2019-ninja.cmake index b941f3b4d2..d88b994700 100644 --- a/scripts/ci/cmake/ci-win2019-vs2019-ninja.cmake +++ b/scripts/ci/cmake/ci-win2019-vs2019-ninja.cmake @@ -12,6 +12,6 @@ ADIOS2_USE_MPI:BOOL=OFF set(CTEST_CMAKE_GENERATOR "Ninja") #set(CTEST_CMAKE_GENERATOR "Visual Studio 16 2019") -#set(CTEST_CMAKE_GENERATOR_PLATFORM "x64") +#set(CTEST_CMAKE_GENERATOR_PLATFORM "x64") 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-win2019-vs2019-ompi.cmake b/scripts/ci/cmake/ci-win2019-vs2019-ompi.cmake index 0be2b74470..f79b2a0e19 100644 --- a/scripts/ci/cmake/ci-win2019-vs2019-ompi.cmake +++ b/scripts/ci/cmake/ci-win2019-vs2019-ompi.cmake @@ -10,6 +10,6 @@ ADIOS2_USE_MPI:BOOL=ON set(CTEST_TEST_TIMEOUT 500) set(CTEST_CMAKE_GENERATOR "Visual Studio 16 2019") -set(CTEST_CMAKE_GENERATOR_PLATFORM "x64") +set(CTEST_CMAKE_GENERATOR_PLATFORM "x64") 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-win2019-vs2019-serial.cmake b/scripts/ci/cmake/ci-win2019-vs2019-serial.cmake index e7739ea37a..157e8278f0 100644 --- a/scripts/ci/cmake/ci-win2019-vs2019-serial.cmake +++ b/scripts/ci/cmake/ci-win2019-vs2019-serial.cmake @@ -10,6 +10,6 @@ ADIOS2_USE_MPI:BOOL=OFF set(CTEST_TEST_TIMEOUT 500) set(CTEST_CMAKE_GENERATOR "Visual Studio 16 2019") -set(CTEST_CMAKE_GENERATOR_PLATFORM "x64") +set(CTEST_CMAKE_GENERATOR_PLATFORM "x64") 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-win2022-vs2022-ompi.cmake b/scripts/ci/cmake/ci-win2022-vs2022-ompi.cmake index 74626dfecd..f51d9c438a 100644 --- a/scripts/ci/cmake/ci-win2022-vs2022-ompi.cmake +++ b/scripts/ci/cmake/ci-win2022-vs2022-ompi.cmake @@ -9,6 +9,6 @@ ADIOS2_USE_MPI:BOOL=ON ") set(CTEST_CMAKE_GENERATOR "Visual Studio 17 2022") -set(CTEST_CMAKE_GENERATOR_PLATFORM "x64") +set(CTEST_CMAKE_GENERATOR_PLATFORM "x64") 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-win2022-vs2022-serial.cmake b/scripts/ci/cmake/ci-win2022-vs2022-serial.cmake index 291be6ec45..f3b7347e7c 100644 --- a/scripts/ci/cmake/ci-win2022-vs2022-serial.cmake +++ b/scripts/ci/cmake/ci-win2022-vs2022-serial.cmake @@ -9,6 +9,6 @@ ADIOS2_USE_MPI:BOOL=OFF ") set(CTEST_CMAKE_GENERATOR "Visual Studio 17 2022") -set(CTEST_CMAKE_GENERATOR_PLATFORM "x64") +set(CTEST_CMAKE_GENERATOR_PLATFORM "x64") list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}") include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake) diff --git a/scripts/ci/gh-actions/macos-setup.sh b/scripts/ci/gh-actions/macos-setup.sh index 7b2bf39543..8cae241e0e 100755 --- a/scripts/ci/gh-actions/macos-setup.sh +++ b/scripts/ci/gh-actions/macos-setup.sh @@ -44,6 +44,9 @@ brew install c-blosc echo "Installing python3" brew install python numpy +echo "Installing ccache" +brew install ccache + if [[ "$GH_YML_JOBNAME" =~ -ompi ]] then echo "Installing OpenMPI" diff --git a/scripts/ci/images/Dockerfile.ci-el8-intel b/scripts/ci/images/Dockerfile.ci-el8-intel index 82eacf7b4a..d43abe663a 100644 --- a/scripts/ci/images/Dockerfile.ci-el8-intel +++ b/scripts/ci/images/Dockerfile.ci-el8-intel @@ -9,6 +9,7 @@ RUN dnf install -y dnf-plugins-core && \ RUN dnf install -y \ bzip2-devel \ + ccache \ curl \ diffutils \ file \ @@ -41,9 +42,9 @@ RUN dnf install -y \ COPY oneAPI.repo /etc/yum.repos.d/ RUN pip3 install numpy && \ dnf install -y \ - intel-oneapi-compiler-dpcpp-cpp \ - intel-oneapi-compiler-fortran \ - intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic + intel-oneapi-compiler-dpcpp-cpp-2023.1.0 \ + intel-oneapi-compiler-fortran-2023.1.0 \ + intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2023.1.0 RUN dnf clean all # Setup module files for the compilers diff --git a/scripts/ci/images/Dockerfile.ci-spack-ubuntu20.04-base b/scripts/ci/images/Dockerfile.ci-spack-ubuntu20.04-base index eea7b9cc30..bd432d6060 100644 --- a/scripts/ci/images/Dockerfile.ci-spack-ubuntu20.04-base +++ b/scripts/ci/images/Dockerfile.ci-spack-ubuntu20.04-base @@ -39,7 +39,9 @@ RUN . /spack/share/spack/setup-env.sh && \ echo "source /spack/share/spack/setup-env.sh" >> /etc/profile.d/zz-spack.sh ### Other missing packages (compared to el8 base): -RUN apt-get remove -y \ +RUN apt-get update && apt-get install -y \ + ccache && \ + apt-get remove -y \ gcc-9 \ g++-9 \ gfortran-9 && \