Skip to content

Commit

Permalink
CI: Only cache one valgrind per arch
Browse files Browse the repository at this point in the history
We are using a patched valgrind for the ct tests
which is built in CI and  then cached in the Github Cache.
Currently we are using many different compilers for these
tests. Currently, for each of these compilers valgrind
is recompiled and cached taking up 600-800 MB per
each of the 26 compiler/arch combinations.
We only have 10 GB of cache, so we are constantly triggering
cache evictions.
This leads to painfully slow tests for other tests that due to
that have to recompile gcc which takes around 45 minutes.

This commit changes the cache key for valgrind to only contain
the OS and arch, but not the compiler version.

Signed-off-by: Matthias J. Kannwischer <matthias@kannwischer.eu>
  • Loading branch information
mkannwischer committed Feb 5, 2025
1 parent df9eb51 commit 843b955
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions .github/workflows/ct-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ jobs:
gh_token: ${{ secrets.GITHUB_TOKEN }}
nix-shell: ${{ matrix.nix-shell }}
nix-cache: true
cache-prefix: ${{ runner.os }}-${{ runner.arch }}
- name: Build and run test (-Oz)
# -Oz got introduced in gcc12
if: ${{ matrix.nix-shell != 'ci_valgrind-varlat_gcc48' && matrix.nix-shell != 'ci_valgrind-varlat_gcc49' && matrix.nix-shell != 'ci_valgrind-varlat_gcc7' && matrix.nix-shell != 'ci_valgrind-varlat_gcc11'}}
Expand Down

0 comments on commit 843b955

Please sign in to comment.