From bc3e82e9b8d471484076328790fa06dfe7b08f09 Mon Sep 17 00:00:00 2001 From: Weiqun Zhang Date: Mon, 8 May 2023 17:56:48 -0700 Subject: [PATCH] Cache CodeQL build (#3297) --- .github/workflows/cleanup-cache.yml | 2 +- .github/workflows/codeql.yml | 44 +++++++++++++++++++++++++++-- 2 files changed, 43 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cleanup-cache.yml b/.github/workflows/cleanup-cache.yml index 04b52cb9f19..21b1848dab8 100644 --- a/.github/workflows/cleanup-cache.yml +++ b/.github/workflows/cleanup-cache.yml @@ -2,7 +2,7 @@ name: CleanUpCache on: workflow_run: - workflows: [LinuxClang, cuda, LinuxGcc, hip, Hypre, intel, macos, PETSc, SUNDIALS, windows] + workflows: [LinuxClang, cuda, LinuxGcc, hip, Hypre, intel, macos, PETSc, SUNDIALS, windows, CodeQL] types: - completed diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 0f52b866ecd..cb236fa51d7 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -1,4 +1,4 @@ -name: 🔍 CodeQL +name: CodeQL on: push: @@ -35,11 +35,28 @@ jobs: run: | sudo apt-get update sudo apt-get install --yes cmake openmpi-bin libopenmpi-dev libhdf5-openmpi-dev + .github/workflows/dependencies/dependencies_ccache.sh + sudo ln -s /usr/local/bin/ccache /usr/local/bin/g++ + + - name: Set Up Cache + if: ${{ matrix.language == 'cpp' }} + uses: actions/cache@v3 + with: + path: ~/.cache/ccache + key: ccache-${{ github.workflow }}-${{ github.job }}-git-${{ github.sha }} + restore-keys: | + ccache-${{ github.workflow }}-${{ github.job }}-git- - name: Configure (C++) if: ${{ matrix.language == 'cpp' }} run: | - cmake -S . -B build -DAMReX_EB=ON -DAMReX_ENABLE_TESTS=ON -DAMReX_FORTRAN=OFF -DAMReX_PARTICLES=ON + cmake -S . -B build \ + -DAMReX_EB=ON \ + -DAMReX_ENABLE_TESTS=ON \ + -DAMReX_FORTRAN=OFF \ + -DAMReX_PARTICLES=ON \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DCMAKE_CXX_COMPILER="/usr/local/bin/g++" - name: Initialize CodeQL uses: github/codeql-action/init@v2 @@ -55,9 +72,32 @@ jobs: - name: Build (C++) if: ${{ matrix.language == 'cpp' }} run: | + export CCACHE_COMPRESS=1 + export CCACHE_COMPRESSLEVEL=10 + export CCACHE_MAXSIZE=30M + ccache -z + cmake --build build -j 2 + ccache -s + du -hs ~/.cache/ccache + - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v2 with: category: "/language:${{ matrix.language }}" + + save_pr_number: + if: github.event_name == 'pull_request' + runs-on: ubuntu-latest + steps: + - name: Save PR number + env: + PR_NUMBER: ${{ github.event.number }} + run: | + echo $PR_NUMBER > pr_number.txt + - uses: actions/upload-artifact@v3 + with: + name: pr_number + path: pr_number.txt + retention-days: 1