From 3436c951eb6bcf1ed5bb10fd384d367480cca174 Mon Sep 17 00:00:00 2001 From: Jon Rood Date: Thu, 5 Oct 2023 16:37:51 -0600 Subject: [PATCH 01/16] Add ccache to clang-tidy. --- .github/workflows/ci.yml | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2befce08b0..0e1741cc2a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -61,7 +61,7 @@ jobs: echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV echo "CCACHE_COMPRESSLEVEL=5" >> $GITHUB_ENV echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV - echo "CCACHE_MAXSIZE=1G" >> $GITHUB_ENV + echo "CCACHE_MAXSIZE=700M" >> $GITHUB_ENV - name: Install Ccache run: | if [ "${RUNNER_OS}" != "macOS" ]; then @@ -134,7 +134,7 @@ jobs: echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV echo "CCACHE_COMPRESSLEVEL=5" >> $GITHUB_ENV echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV - echo "CCACHE_MAXSIZE=1G" >> $GITHUB_ENV + echo "CCACHE_MAXSIZE=800M" >> $GITHUB_ENV - name: Install Ccache run: | wget https://github.com/ccache/ccache/releases/download/v4.8/ccache-4.8-linux-x86_64.tar.xz @@ -190,7 +190,7 @@ jobs: echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV echo "CCACHE_COMPRESSLEVEL=5" >> $GITHUB_ENV echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV - echo "CCACHE_MAXSIZE=1G" >> $GITHUB_ENV + echo "CCACHE_MAXSIZE=200M" >> $GITHUB_ENV - name: Install Ccache run: | wget https://github.com/ccache/ccache/releases/download/v4.8/ccache-4.8-linux-x86_64.tar.xz @@ -251,7 +251,7 @@ jobs: echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV echo "CCACHE_COMPRESSLEVEL=5" >> $GITHUB_ENV echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV - echo "CCACHE_MAXSIZE=1G" >> $GITHUB_ENV + echo "CCACHE_MAXSIZE=200M" >> $GITHUB_ENV echo "CCACHE_DEPEND=1" >> $GITHUB_ENV - name: Install Ccache run: | @@ -334,9 +334,27 @@ jobs: uses: actions/checkout@v3 with: submodules: true + - name: Setup + run: | + echo "NPROCS=$(nproc)" >> $GITHUB_ENV + echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV + echo "CCACHE_COMPRESSLEVEL=5" >> $GITHUB_ENV + echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV + echo "CCACHE_MAXSIZE=800M" >> $GITHUB_ENV + - name: Install Ccache + run: | + wget https://github.com/ccache/ccache/releases/download/v4.8/ccache-4.8-linux-x86_64.tar.xz + tar xvf ccache-4.8-linux-x86_64.tar.xz + sudo cp -f ccache-4.8-linux-x86_64/ccache /usr/local/bin/ + - name: Set Up Ccache + uses: actions/cache@v3 + with: + path: ${{matrix.ccache_cache}} + key: ccache-${{github.workflow}}-${{github.job}}-git-${{github.sha}} + restore-keys: | + ccache-${{github.workflow}}-${{github.job}}-git- - name: Configure run: | - echo "NPROCS=$(nproc)" >> $GITHUB_ENV cmake \ -B ${{runner.workspace}}/build-clang-tidy \ -DCMAKE_BUILD_TYPE:STRING=Debug \ @@ -348,6 +366,7 @@ jobs: -DAMR_WIND_ENABLE_MASA:BOOL=OFF \ -DAMR_WIND_ENABLE_ALL_WARNINGS:BOOL=ON \ -DAMR_WIND_ENABLE_CLANG_TIDY:BOOL=ON \ + -DCMAKE_CXX_COMPILER_LAUNCHER:STRING=ccache \ ${{github.workspace}} - name: Check working-directory: ${{runner.workspace}}/build-clang-tidy @@ -355,6 +374,10 @@ jobs: cmake --build . --parallel ${{env.NPROCS}} 2>&1 | tee -a clang-tidy-full-report.txt cat clang-tidy-full-report.txt | grep "warning:" | grep -v "submods" | sort | uniq | \ awk 'BEGIN{i=0}{print $0}{i++}END{print "Warnings: "i}' > clang-tidy-ci-report.txt + - name: Ccache Report + run: | + ccache -s + du -hs ${HOME}/.cache/ccache - name: Full report working-directory: ${{runner.workspace}}/build-clang-tidy run: cat clang-tidy-full-report.txt From 35a568a8e5305af3467cc90329676b8166ac7f04 Mon Sep 17 00:00:00 2001 From: Jon Rood Date: Thu, 5 Oct 2023 16:41:27 -0600 Subject: [PATCH 02/16] Increase ccache compress level. --- .github/workflows/ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0e1741cc2a..18c1ed7961 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -59,7 +59,7 @@ jobs: run: | echo "NPROCS=${{matrix.procs}}" >> $GITHUB_ENV echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV - echo "CCACHE_COMPRESSLEVEL=5" >> $GITHUB_ENV + echo "CCACHE_COMPRESSLEVEL=10" >> $GITHUB_ENV echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV echo "CCACHE_MAXSIZE=700M" >> $GITHUB_ENV - name: Install Ccache @@ -132,7 +132,7 @@ jobs: run: | echo "NPROCS=$(nproc)" >> $GITHUB_ENV echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV - echo "CCACHE_COMPRESSLEVEL=5" >> $GITHUB_ENV + echo "CCACHE_COMPRESSLEVEL=10" >> $GITHUB_ENV echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV echo "CCACHE_MAXSIZE=800M" >> $GITHUB_ENV - name: Install Ccache @@ -188,7 +188,7 @@ jobs: run: | echo "NPROCS=$(nproc)" >> $GITHUB_ENV echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV - echo "CCACHE_COMPRESSLEVEL=5" >> $GITHUB_ENV + echo "CCACHE_COMPRESSLEVEL=10" >> $GITHUB_ENV echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV echo "CCACHE_MAXSIZE=200M" >> $GITHUB_ENV - name: Install Ccache @@ -249,7 +249,7 @@ jobs: run: | echo "NPROCS=$(nproc)" >> $GITHUB_ENV echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV - echo "CCACHE_COMPRESSLEVEL=5" >> $GITHUB_ENV + echo "CCACHE_COMPRESSLEVEL=10" >> $GITHUB_ENV echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV echo "CCACHE_MAXSIZE=200M" >> $GITHUB_ENV echo "CCACHE_DEPEND=1" >> $GITHUB_ENV @@ -338,7 +338,7 @@ jobs: run: | echo "NPROCS=$(nproc)" >> $GITHUB_ENV echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV - echo "CCACHE_COMPRESSLEVEL=5" >> $GITHUB_ENV + echo "CCACHE_COMPRESSLEVEL=10" >> $GITHUB_ENV echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV echo "CCACHE_MAXSIZE=800M" >> $GITHUB_ENV - name: Install Ccache From c41fcb6a27d37e63fe666f2097bf1eaf8e2e3270 Mon Sep 17 00:00:00 2001 From: Jon Rood Date: Fri, 6 Oct 2023 08:45:00 -0600 Subject: [PATCH 03/16] Try to fix syntax error. --- .github/workflows/ci.yml | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 18c1ed7961..8fb41343da 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -334,25 +334,25 @@ jobs: uses: actions/checkout@v3 with: submodules: true - - name: Setup - run: | - echo "NPROCS=$(nproc)" >> $GITHUB_ENV - echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV - echo "CCACHE_COMPRESSLEVEL=10" >> $GITHUB_ENV - echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV - echo "CCACHE_MAXSIZE=800M" >> $GITHUB_ENV - - name: Install Ccache - run: | - wget https://github.com/ccache/ccache/releases/download/v4.8/ccache-4.8-linux-x86_64.tar.xz - tar xvf ccache-4.8-linux-x86_64.tar.xz - sudo cp -f ccache-4.8-linux-x86_64/ccache /usr/local/bin/ - - name: Set Up Ccache - uses: actions/cache@v3 - with: - path: ${{matrix.ccache_cache}} - key: ccache-${{github.workflow}}-${{github.job}}-git-${{github.sha}} - restore-keys: | - ccache-${{github.workflow}}-${{github.job}}-git- + - name: Setup + run: | + echo "NPROCS=$(nproc)" >> $GITHUB_ENV + echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV + echo "CCACHE_COMPRESSLEVEL=10" >> $GITHUB_ENV + echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV + echo "CCACHE_MAXSIZE=800M" >> $GITHUB_ENV + - name: Install Ccache + run: | + wget https://github.com/ccache/ccache/releases/download/v4.8/ccache-4.8-linux-x86_64.tar.xz + tar xvf ccache-4.8-linux-x86_64.tar.xz + sudo cp -f ccache-4.8-linux-x86_64/ccache /usr/local/bin/ + - name: Set Up Ccache + uses: actions/cache@v3 + with: + path: ${{matrix.ccache_cache}} + key: ccache-${{github.workflow}}-${{github.job}}-git-${{github.sha}} + restore-keys: | + ccache-${{github.workflow}}-${{github.job}}-git- - name: Configure run: | cmake \ From 4680f1f9555b3c71eaa04b3f39cbdf353d09abb6 Mon Sep 17 00:00:00 2001 From: Jon Rood Date: Fri, 6 Oct 2023 08:55:53 -0600 Subject: [PATCH 04/16] Fix copy and paste error. --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8fb41343da..3c74baf684 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -349,7 +349,7 @@ jobs: - name: Set Up Ccache uses: actions/cache@v3 with: - path: ${{matrix.ccache_cache}} + path: ~/.cache/ccache key: ccache-${{github.workflow}}-${{github.job}}-git-${{github.sha}} restore-keys: | ccache-${{github.workflow}}-${{github.job}}-git- From 54daf0b868befb9bdebcba06ac6602f172fc01e9 Mon Sep 17 00:00:00 2001 From: Jon Rood Date: Fri, 6 Oct 2023 09:30:42 -0600 Subject: [PATCH 05/16] Change to Release build to save cache space. --- .github/workflows/ci.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3c74baf684..a8d5e97a13 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,7 +29,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, macos-latest] - build_type: [RelWithDebInfo, Debug] + build_type: [Release, Debug] include: - os: macos-latest install_deps: brew install mpich ccache @@ -41,7 +41,7 @@ jobs: comp: gnu procs: $(nproc) ccache_cache: ~/.cache/ccache - - build_type: RelWithDebInfo + - build_type: Release ctest_args: -LE no_ci - build_type: Debug ctest_args: -L unit @@ -61,7 +61,7 @@ jobs: echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV echo "CCACHE_COMPRESSLEVEL=10" >> $GITHUB_ENV echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV - echo "CCACHE_MAXSIZE=700M" >> $GITHUB_ENV + echo "CCACHE_MAXSIZE=250M" >> $GITHUB_ENV - name: Install Ccache run: | if [ "${RUNNER_OS}" != "macOS" ]; then @@ -190,7 +190,7 @@ jobs: echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV echo "CCACHE_COMPRESSLEVEL=10" >> $GITHUB_ENV echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV - echo "CCACHE_MAXSIZE=200M" >> $GITHUB_ENV + echo "CCACHE_MAXSIZE=250M" >> $GITHUB_ENV - name: Install Ccache run: | wget https://github.com/ccache/ccache/releases/download/v4.8/ccache-4.8-linux-x86_64.tar.xz @@ -251,7 +251,7 @@ jobs: echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV echo "CCACHE_COMPRESSLEVEL=10" >> $GITHUB_ENV echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV - echo "CCACHE_MAXSIZE=200M" >> $GITHUB_ENV + echo "CCACHE_MAXSIZE=250M" >> $GITHUB_ENV echo "CCACHE_DEPEND=1" >> $GITHUB_ENV - name: Install Ccache run: | @@ -340,7 +340,7 @@ jobs: echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV echo "CCACHE_COMPRESSLEVEL=10" >> $GITHUB_ENV echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV - echo "CCACHE_MAXSIZE=800M" >> $GITHUB_ENV + echo "CCACHE_MAXSIZE=250M" >> $GITHUB_ENV - name: Install Ccache run: | wget https://github.com/ccache/ccache/releases/download/v4.8/ccache-4.8-linux-x86_64.tar.xz @@ -357,7 +357,7 @@ jobs: run: | cmake \ -B ${{runner.workspace}}/build-clang-tidy \ - -DCMAKE_BUILD_TYPE:STRING=Debug \ + -DCMAKE_BUILD_TYPE:STRING=Release \ -DCMAKE_CXX_COMPILER:STRING=clang++ \ -DCMAKE_C_COMPILER:STRING=clang \ -DAMR_WIND_ENABLE_MPI:BOOL=OFF \ From 49ef0cc67da5aaf6f36ead8fbb026b73dcee643d Mon Sep 17 00:00:00 2001 From: Jon Rood Date: Fri, 6 Oct 2023 09:37:37 -0600 Subject: [PATCH 06/16] Reduce cuda ccache size. --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a8d5e97a13..56e878aee1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -134,7 +134,7 @@ jobs: echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV echo "CCACHE_COMPRESSLEVEL=10" >> $GITHUB_ENV echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV - echo "CCACHE_MAXSIZE=800M" >> $GITHUB_ENV + echo "CCACHE_MAXSIZE=500M" >> $GITHUB_ENV - name: Install Ccache run: | wget https://github.com/ccache/ccache/releases/download/v4.8/ccache-4.8-linux-x86_64.tar.xz From 28610fefb04aee8948ac33e9d767f677377eaad9 Mon Sep 17 00:00:00 2001 From: Jon Rood Date: Fri, 6 Oct 2023 09:45:51 -0600 Subject: [PATCH 07/16] Disable cppcheck. --- .github/workflows/ci.yml | 66 ++++++++++++++++++++-------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 56e878aee1..1c1228eee1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -293,39 +293,39 @@ jobs: run: | ccache -s du -hs ${HOME}/.cache/ccache - Lint-cppcheck: - needs: Formatting - runs-on: macos-latest - steps: - - name: Clone - uses: actions/checkout@v3 - with: - submodules: true - - name: Dependencies - run: brew install cppcheck - - name: Configure - run: | - echo "NPROCS=$(sysctl -n hw.ncpu)" >> $GITHUB_ENV - cmake \ - -B ${{runner.workspace}}/build-cppcheck \ - -DAMR_WIND_ENABLE_MPI:BOOL=OFF \ - -DAMR_WIND_ENABLE_TESTS:BOOL=ON \ - -DAMR_WIND_TEST_WITH_FCOMPARE:BOOL=OFF \ - -DAMR_WIND_ENABLE_MASA:BOOL=OFF \ - -DAMR_WIND_ENABLE_CPPCHECK:BOOL=ON \ - ${{github.workspace}} - - name: Check - working-directory: ${{runner.workspace}}/build-cppcheck - run: make cppcheck-ci - - name: Full report - working-directory: ${{runner.workspace}}/build-cppcheck - run: cat cppcheck/cppcheck-full-report.txt - - name: Short report - working-directory: ${{runner.workspace}}/build-cppcheck - run: | - echo "::add-matcher::.github/problem-matchers/cppcheck.json" - cat cppcheck-ci-report.txt - exit $(tail -n 1 cppcheck-ci-report.txt | awk '{print $2}') +# Lint-cppcheck: +# needs: Formatting +# runs-on: macos-latest +# steps: +# - name: Clone +# uses: actions/checkout@v3 +# with: +# submodules: true +# - name: Dependencies +# run: brew install cppcheck +# - name: Configure +# run: | +# echo "NPROCS=$(sysctl -n hw.ncpu)" >> $GITHUB_ENV +# cmake \ +# -B ${{runner.workspace}}/build-cppcheck \ +# -DAMR_WIND_ENABLE_MPI:BOOL=OFF \ +# -DAMR_WIND_ENABLE_TESTS:BOOL=ON \ +# -DAMR_WIND_TEST_WITH_FCOMPARE:BOOL=OFF \ +# -DAMR_WIND_ENABLE_MASA:BOOL=OFF \ +# -DAMR_WIND_ENABLE_CPPCHECK:BOOL=ON \ +# ${{github.workspace}} +# - name: Check +# working-directory: ${{runner.workspace}}/build-cppcheck +# run: make cppcheck-ci +# - name: Full report +# working-directory: ${{runner.workspace}}/build-cppcheck +# run: cat cppcheck/cppcheck-full-report.txt +# - name: Short report +# working-directory: ${{runner.workspace}}/build-cppcheck +# run: | +# echo "::add-matcher::.github/problem-matchers/cppcheck.json" +# cat cppcheck-ci-report.txt +# exit $(tail -n 1 cppcheck-ci-report.txt | awk '{print $2}') Lint-clang-tidy: needs: Formatting runs-on: ubuntu-latest From a7d896427527b98f45dddd96be78c0e2a2a1f6d6 Mon Sep 17 00:00:00 2001 From: Jon Rood Date: Fri, 6 Oct 2023 10:02:29 -0600 Subject: [PATCH 08/16] Change ccache size according to build type. --- .github/workflows/ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1c1228eee1..e8dd4ba560 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,8 +43,10 @@ jobs: ccache_cache: ~/.cache/ccache - build_type: Release ctest_args: -LE no_ci + ccache_size: 250M - build_type: Debug ctest_args: -L unit + ccache_size: 1000M exclude: - os: macos-latest build_type: Debug @@ -61,7 +63,7 @@ jobs: echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV echo "CCACHE_COMPRESSLEVEL=10" >> $GITHUB_ENV echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV - echo "CCACHE_MAXSIZE=250M" >> $GITHUB_ENV + echo "CCACHE_MAXSIZE=${{matrix.ccache_size}}" >> $GITHUB_ENV - name: Install Ccache run: | if [ "${RUNNER_OS}" != "macOS" ]; then From 96fe877f2e4547e7339d443166e94d629dfe0f8b Mon Sep 17 00:00:00 2001 From: Jon Rood Date: Fri, 6 Oct 2023 10:25:53 -0600 Subject: [PATCH 09/16] Change ccache compression level. --- .github/workflows/ci.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e8dd4ba560..6486acb607 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -46,7 +46,7 @@ jobs: ccache_size: 250M - build_type: Debug ctest_args: -L unit - ccache_size: 1000M + ccache_size: 500M exclude: - os: macos-latest build_type: Debug @@ -61,7 +61,7 @@ jobs: run: | echo "NPROCS=${{matrix.procs}}" >> $GITHUB_ENV echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV - echo "CCACHE_COMPRESSLEVEL=10" >> $GITHUB_ENV + echo "CCACHE_COMPRESSLEVEL=1" >> $GITHUB_ENV echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV echo "CCACHE_MAXSIZE=${{matrix.ccache_size}}" >> $GITHUB_ENV - name: Install Ccache @@ -134,7 +134,7 @@ jobs: run: | echo "NPROCS=$(nproc)" >> $GITHUB_ENV echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV - echo "CCACHE_COMPRESSLEVEL=10" >> $GITHUB_ENV + echo "CCACHE_COMPRESSLEVEL=1" >> $GITHUB_ENV echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV echo "CCACHE_MAXSIZE=500M" >> $GITHUB_ENV - name: Install Ccache @@ -190,7 +190,7 @@ jobs: run: | echo "NPROCS=$(nproc)" >> $GITHUB_ENV echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV - echo "CCACHE_COMPRESSLEVEL=10" >> $GITHUB_ENV + echo "CCACHE_COMPRESSLEVEL=1" >> $GITHUB_ENV echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV echo "CCACHE_MAXSIZE=250M" >> $GITHUB_ENV - name: Install Ccache @@ -251,7 +251,7 @@ jobs: run: | echo "NPROCS=$(nproc)" >> $GITHUB_ENV echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV - echo "CCACHE_COMPRESSLEVEL=10" >> $GITHUB_ENV + echo "CCACHE_COMPRESSLEVEL=1" >> $GITHUB_ENV echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV echo "CCACHE_MAXSIZE=250M" >> $GITHUB_ENV echo "CCACHE_DEPEND=1" >> $GITHUB_ENV @@ -340,7 +340,7 @@ jobs: run: | echo "NPROCS=$(nproc)" >> $GITHUB_ENV echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV - echo "CCACHE_COMPRESSLEVEL=10" >> $GITHUB_ENV + echo "CCACHE_COMPRESSLEVEL=1" >> $GITHUB_ENV echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV echo "CCACHE_MAXSIZE=250M" >> $GITHUB_ENV - name: Install Ccache From a3501b6c91625cad7a21a1210ea8d578fba00c1c Mon Sep 17 00:00:00 2001 From: Jon Rood Date: Fri, 6 Oct 2023 11:28:36 -0600 Subject: [PATCH 10/16] Change ccache sizes. Fix possible null deference. --- .github/workflows/ci.yml | 10 +++++----- unit_tests/utilities/test_free_surface.cpp | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6486acb607..e738201b2e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,7 +43,7 @@ jobs: ccache_cache: ~/.cache/ccache - build_type: Release ctest_args: -LE no_ci - ccache_size: 250M + ccache_size: 150M - build_type: Debug ctest_args: -L unit ccache_size: 500M @@ -136,7 +136,7 @@ jobs: echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV echo "CCACHE_COMPRESSLEVEL=1" >> $GITHUB_ENV echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV - echo "CCACHE_MAXSIZE=500M" >> $GITHUB_ENV + echo "CCACHE_MAXSIZE=200M" >> $GITHUB_ENV - name: Install Ccache run: | wget https://github.com/ccache/ccache/releases/download/v4.8/ccache-4.8-linux-x86_64.tar.xz @@ -192,7 +192,7 @@ jobs: echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV echo "CCACHE_COMPRESSLEVEL=1" >> $GITHUB_ENV echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV - echo "CCACHE_MAXSIZE=250M" >> $GITHUB_ENV + echo "CCACHE_MAXSIZE=50M" >> $GITHUB_ENV - name: Install Ccache run: | wget https://github.com/ccache/ccache/releases/download/v4.8/ccache-4.8-linux-x86_64.tar.xz @@ -253,7 +253,7 @@ jobs: echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV echo "CCACHE_COMPRESSLEVEL=1" >> $GITHUB_ENV echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV - echo "CCACHE_MAXSIZE=250M" >> $GITHUB_ENV + echo "CCACHE_MAXSIZE=50M" >> $GITHUB_ENV echo "CCACHE_DEPEND=1" >> $GITHUB_ENV - name: Install Ccache run: | @@ -342,7 +342,7 @@ jobs: echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV echo "CCACHE_COMPRESSLEVEL=1" >> $GITHUB_ENV echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV - echo "CCACHE_MAXSIZE=250M" >> $GITHUB_ENV + echo "CCACHE_MAXSIZE=50M" >> $GITHUB_ENV - name: Install Ccache run: | wget https://github.com/ccache/ccache/releases/download/v4.8/ccache-4.8-linux-x86_64.tar.xz diff --git a/unit_tests/utilities/test_free_surface.cpp b/unit_tests/utilities/test_free_surface.cpp index db6b1496c4..b63f3219c3 100644 --- a/unit_tests/utilities/test_free_surface.cpp +++ b/unit_tests/utilities/test_free_surface.cpp @@ -467,8 +467,8 @@ TEST_F(FreeSurfaceTest, sloped) tool.post_advance_work(); // Calculate expected output values - amrex::Vector out_vec; - out_vec.resize(static_cast(npts) * static_cast(npts), 0.0); + amrex::Vector out_vec( + static_cast(npts) * static_cast(npts), 0.0); // Step in x, then y out_vec[0] = water_level2 + slope * (-1.0 - 1.0); out_vec[1] = water_level2 + slope * (+0.0 - 1.0); From a771727b7b38072361ffd9504d7fadde3f89b3a4 Mon Sep 17 00:00:00 2001 From: Jon Rood Date: Fri, 6 Oct 2023 13:13:45 -0600 Subject: [PATCH 11/16] Some changes. --- .github/workflows/ci.yml | 18 +++++++++++------- unit_tests/utilities/test_free_surface.cpp | 21 ++++++++++----------- 2 files changed, 21 insertions(+), 18 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e738201b2e..d1962bfe92 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -98,9 +98,8 @@ jobs: - name: Ccache Report run: | ccache -s - if [ "${RUNNER_OS}" != "macOS" ]; then - du -hs ${HOME}/.cache/ccache - fi + ls ${{matrix.ccache_cache}} + du -hs ${{matrix.ccache_cache}} - name: Report working-directory: ${{runner.workspace}}/build-ci-${{matrix.build_type}} run: | @@ -176,7 +175,8 @@ jobs: - name: Ccache Report run: | ccache -s - du -hs ${HOME}/.cache/ccache + ls ~/.cache/ccache + du -hs ~/.cache/ccache GPU-AMD: name: GPU-HIP needs: Formatting @@ -237,7 +237,8 @@ jobs: - name: Ccache Report run: | ccache -s - du -hs ${HOME}/.cache/ccache + ls ~/.cache/ccache + du -hs ~/.cache/ccache GPU-Intel: name: GPU-SYCL needs: Formatting @@ -294,7 +295,8 @@ jobs: - name: Ccache Report run: | ccache -s - du -hs ${HOME}/.cache/ccache + ls ~/.cache/ccache + du -hs ~/.cache/ccache # Lint-cppcheck: # needs: Formatting # runs-on: macos-latest @@ -342,6 +344,7 @@ jobs: echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV echo "CCACHE_COMPRESSLEVEL=1" >> $GITHUB_ENV echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV + echo "CCACHE_EXTRAFILES=${{github.workspace}}/.clang-tidy" >> $GITHUB_ENV echo "CCACHE_MAXSIZE=50M" >> $GITHUB_ENV - name: Install Ccache run: | @@ -379,7 +382,8 @@ jobs: - name: Ccache Report run: | ccache -s - du -hs ${HOME}/.cache/ccache + ls ~/.cache/ccache + du -hs ~/.cache/ccache - name: Full report working-directory: ${{runner.workspace}}/build-clang-tidy run: cat clang-tidy-full-report.txt diff --git a/unit_tests/utilities/test_free_surface.cpp b/unit_tests/utilities/test_free_surface.cpp index b63f3219c3..8c50a970c2 100644 --- a/unit_tests/utilities/test_free_surface.cpp +++ b/unit_tests/utilities/test_free_surface.cpp @@ -467,18 +467,17 @@ TEST_F(FreeSurfaceTest, sloped) tool.post_advance_work(); // Calculate expected output values - amrex::Vector out_vec( - static_cast(npts) * static_cast(npts), 0.0); + amrex::Vector out_vec(static_cast(npts * npts), 0.0); // Step in x, then y - out_vec[0] = water_level2 + slope * (-1.0 - 1.0); - out_vec[1] = water_level2 + slope * (+0.0 - 1.0); - out_vec[2] = water_level2 + slope * (+1.0 - 1.0); - out_vec[3] = water_level2 + slope * (-1.0 + 0.0); - out_vec[4] = water_level2 + slope * (+0.0 + 0.0); - out_vec[5] = water_level2 + slope * (+1.0 + 0.0); - out_vec[6] = water_level2 + slope * (-1.0 + 1.0); - out_vec[7] = water_level2 + slope * (+0.0 + 1.0); - out_vec[8] = water_level2 + slope * (+1.0 + 1.0); + out_vec.push_back(water_level2 + slope * (-1.0 - 1.0)); + out_vec.push_back(water_level2 + slope * (+0.0 - 1.0)); + out_vec.push_back(water_level2 + slope * (+1.0 - 1.0)); + out_vec.push_back(water_level2 + slope * (-1.0 + 0.0)); + out_vec.push_back(water_level2 + slope * (+0.0 + 0.0)); + out_vec.push_back(water_level2 + slope * (+1.0 + 0.0)); + out_vec.push_back(water_level2 + slope * (-1.0 + 1.0)); + out_vec.push_back(water_level2 + slope * (+0.0 + 1.0)); + out_vec.push_back(water_level2 + slope * (+1.0 + 1.0)); // Check output value int nout = tool.check_output_vec("~", out_vec); ASSERT_EQ(nout, npts * npts); From 8a03ecf7a1922eb438fadb9b7d6e1349e746b285 Mon Sep 17 00:00:00 2001 From: Jon Rood Date: Fri, 6 Oct 2023 13:31:41 -0600 Subject: [PATCH 12/16] Revert vector change. --- unit_tests/utilities/test_free_surface.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/unit_tests/utilities/test_free_surface.cpp b/unit_tests/utilities/test_free_surface.cpp index 8c50a970c2..cfccc16791 100644 --- a/unit_tests/utilities/test_free_surface.cpp +++ b/unit_tests/utilities/test_free_surface.cpp @@ -469,15 +469,15 @@ TEST_F(FreeSurfaceTest, sloped) // Calculate expected output values amrex::Vector out_vec(static_cast(npts * npts), 0.0); // Step in x, then y - out_vec.push_back(water_level2 + slope * (-1.0 - 1.0)); - out_vec.push_back(water_level2 + slope * (+0.0 - 1.0)); - out_vec.push_back(water_level2 + slope * (+1.0 - 1.0)); - out_vec.push_back(water_level2 + slope * (-1.0 + 0.0)); - out_vec.push_back(water_level2 + slope * (+0.0 + 0.0)); - out_vec.push_back(water_level2 + slope * (+1.0 + 0.0)); - out_vec.push_back(water_level2 + slope * (-1.0 + 1.0)); - out_vec.push_back(water_level2 + slope * (+0.0 + 1.0)); - out_vec.push_back(water_level2 + slope * (+1.0 + 1.0)); + out_vec[0] = (water_level2 + slope * (-1.0 - 1.0)); + out_vec[1] = (water_level2 + slope * (+0.0 - 1.0)); + out_vec[2] = (water_level2 + slope * (+1.0 - 1.0)); + out_vec[3] = (water_level2 + slope * (-1.0 + 0.0)); + out_vec[4] = (water_level2 + slope * (+0.0 + 0.0)); + out_vec[5] = (water_level2 + slope * (+1.0 + 0.0)); + out_vec[6] = (water_level2 + slope * (-1.0 + 1.0)); + out_vec[7] = (water_level2 + slope * (+0.0 + 1.0)); + out_vec[8] = (water_level2 + slope * (+1.0 + 1.0)); // Check output value int nout = tool.check_output_vec("~", out_vec); ASSERT_EQ(nout, npts * npts); From 306bca3321d2003bd2bf91ff9ecc1660e1ca99ae Mon Sep 17 00:00:00 2001 From: Jon Rood Date: Fri, 6 Oct 2023 14:13:22 -0600 Subject: [PATCH 13/16] Add clang-tidy-cache. --- .github/workflows/ci.yml | 7 ++++++- cmake/amr-wind-utils.cmake | 6 ++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d1962bfe92..5917d723a8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -346,15 +346,18 @@ jobs: echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV echo "CCACHE_EXTRAFILES=${{github.workspace}}/.clang-tidy" >> $GITHUB_ENV echo "CCACHE_MAXSIZE=50M" >> $GITHUB_ENV + echo "CTCACHE_DIR=~/.cache/ctcache" >> $GITHUB_ENV - name: Install Ccache run: | wget https://github.com/ccache/ccache/releases/download/v4.8/ccache-4.8-linux-x86_64.tar.xz + sudo curl https://raw.githubusercontent.com/matus-chochlik/ctcache/7fd516e91c17779cbc6fc18bd119313d9532dd90/clang-tidy-cache -Lo /usr/bin/clang-tidy-cache tar xvf ccache-4.8-linux-x86_64.tar.xz sudo cp -f ccache-4.8-linux-x86_64/ccache /usr/local/bin/ + sudo chmod +x /usr/bin/clang-tidy-cache - name: Set Up Ccache uses: actions/cache@v3 with: - path: ~/.cache/ccache + path: ~/.cache key: ccache-${{github.workflow}}-${{github.job}}-git-${{github.sha}} restore-keys: | ccache-${{github.workflow}}-${{github.job}}-git- @@ -384,6 +387,8 @@ jobs: ccache -s ls ~/.cache/ccache du -hs ~/.cache/ccache + ls ~/.cache/ctcache + du -hs ~/.cache/ctcache - name: Full report working-directory: ${{runner.workspace}}/build-clang-tidy run: cat clang-tidy-full-report.txt diff --git a/cmake/amr-wind-utils.cmake b/cmake/amr-wind-utils.cmake index cfd55b4cea..413081296f 100644 --- a/cmake/amr-wind-utils.cmake +++ b/cmake/amr-wind-utils.cmake @@ -88,6 +88,12 @@ macro(init_code_checks) find_program(CLANG_TIDY_EXE NAMES "clang-tidy") if(CLANG_TIDY_EXE) message(STATUS "clang-tidy found: ${CLANG_TIDY_EXE}") + find_program (CLANG_TIDY_CACHE_EXE NAMES "clang-tidy-cache") + if(CLANG_TIDY_CACHE_EXE) + message(STATUS "clang-tidy-cache found: ${CLANG_TIDY_CACHE_EXE}") + set(CLANG_TIDY_EXE "${CLANG_TIDY_CACHE_PATH};${CLANG_TIDY_EXE}" + CACHE STRING "A combined command to run clang-tidy with caching wrapper") + endif() else() message(WARNING "clang-tidy not found.") endif() From 23efc3a5d8fd5c9d6cb6b663f95be24984eae1f5 Mon Sep 17 00:00:00 2001 From: Jon Rood Date: Fri, 6 Oct 2023 14:15:29 -0600 Subject: [PATCH 14/16] Add ls. --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5917d723a8..3e72b37f04 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -384,11 +384,12 @@ jobs: awk 'BEGIN{i=0}{print $0}{i++}END{print "Warnings: "i}' > clang-tidy-ci-report.txt - name: Ccache Report run: | - ccache -s + ls ~/.cache ls ~/.cache/ccache du -hs ~/.cache/ccache ls ~/.cache/ctcache du -hs ~/.cache/ctcache + ccache -s - name: Full report working-directory: ${{runner.workspace}}/build-clang-tidy run: cat clang-tidy-full-report.txt From 433a89bf99f060a2acc054bbb55b79430d47e766 Mon Sep 17 00:00:00 2001 From: Jon Rood Date: Fri, 6 Oct 2023 15:10:39 -0600 Subject: [PATCH 15/16] Try static constexpr. --- .github/workflows/ci.yml | 1 + unit_tests/utilities/test_free_surface.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3e72b37f04..d370259d63 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -354,6 +354,7 @@ jobs: tar xvf ccache-4.8-linux-x86_64.tar.xz sudo cp -f ccache-4.8-linux-x86_64/ccache /usr/local/bin/ sudo chmod +x /usr/bin/clang-tidy-cache + mkdir -p ~/.cache/ctcache - name: Set Up Ccache uses: actions/cache@v3 with: diff --git a/unit_tests/utilities/test_free_surface.cpp b/unit_tests/utilities/test_free_surface.cpp index cfccc16791..a0e3aa8e12 100644 --- a/unit_tests/utilities/test_free_surface.cpp +++ b/unit_tests/utilities/test_free_surface.cpp @@ -367,7 +367,7 @@ class FreeSurfaceTest : public MeshTest const amrex::Vector pl_end{{128.0, 128.0, 0.0}}; const amrex::Vector plnarrow_s{{63.0, 63.0, 0.0}}; const amrex::Vector plnarrow_e{{65.0, 65.0, 0.0}}; - const int npts = 3; + static constexpr int npts = 3; const amrex::Real fref_val = 0.5; const std::string fname = "flag"; int m_nlev = 0; From bd5719192b4ceb8a16e148635eebe21d174d3fe9 Mon Sep 17 00:00:00 2001 From: Jon Rood Date: Fri, 6 Oct 2023 16:27:33 -0600 Subject: [PATCH 16/16] Remove ctcache. --- cmake/amr-wind-utils.cmake | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/cmake/amr-wind-utils.cmake b/cmake/amr-wind-utils.cmake index 413081296f..a44b8d1c39 100644 --- a/cmake/amr-wind-utils.cmake +++ b/cmake/amr-wind-utils.cmake @@ -88,12 +88,12 @@ macro(init_code_checks) find_program(CLANG_TIDY_EXE NAMES "clang-tidy") if(CLANG_TIDY_EXE) message(STATUS "clang-tidy found: ${CLANG_TIDY_EXE}") - find_program (CLANG_TIDY_CACHE_EXE NAMES "clang-tidy-cache") - if(CLANG_TIDY_CACHE_EXE) - message(STATUS "clang-tidy-cache found: ${CLANG_TIDY_CACHE_EXE}") - set(CLANG_TIDY_EXE "${CLANG_TIDY_CACHE_PATH};${CLANG_TIDY_EXE}" - CACHE STRING "A combined command to run clang-tidy with caching wrapper") - endif() + #find_program (CLANG_TIDY_CACHE_EXE NAMES "clang-tidy-cache") + #if(CLANG_TIDY_CACHE_EXE) + # message(STATUS "clang-tidy-cache found: ${CLANG_TIDY_CACHE_EXE}") + # set(CLANG_TIDY_EXE "${CLANG_TIDY_CACHE_PATH};${CLANG_TIDY_EXE}" + # CACHE STRING "A combined command to run clang-tidy with caching wrapper") + #endif() else() message(WARNING "clang-tidy not found.") endif()