From cca3db2aea9d65757a75deacd8852238d148c2d6 Mon Sep 17 00:00:00 2001 From: Lars Eggert Date: Tue, 17 Sep 2024 04:13:53 -0700 Subject: [PATCH] ci: Speed up NSS build with `sccache` (#2091) * ci: Speed up NSS build with `sccache` Maybe? * Again * No Windows * Fix cmake * Fixes * Fixes * echo * Again * exe * No Windows * No Windows * Finalize * Only set compiler env for the NSS build --------- Signed-off-by: Lars Eggert --- .github/actions/nss/action.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.github/actions/nss/action.yml b/.github/actions/nss/action.yml index f698ac8932..591f0a2a7d 100644 --- a/.github/actions/nss/action.yml +++ b/.github/actions/nss/action.yml @@ -59,6 +59,25 @@ runs: echo "System NSS is suitable: $NSS_VERSION" echo "BUILD_NSS=0" >> "$GITHUB_ENV" + - name: Use sccache + uses: mozilla-actions/sccache-action@2e7f9ec7921547d4b46598398ca573513895d0bd # v0.0.4 + + - name: Enable sscache + shell: bash + run: | + if [ "${{ runner.os }}" != "Windows" ]; then + # TODO: Figure out how to make this work on Windows + echo "SCCACHE_CC=sccache cc" >> "$GITHUB_ENV" + echo "SCCACHE_CXX=sccache c++" >> "$GITHUB_ENV" + fi + echo "CMAKE_C_COMPILER_LAUNCHER=sccache" >> "$GITHUB_ENV" + echo "CMAKE_CXX_COMPILER_LAUNCHER=sccache" >> "$GITHUB_ENV" + if [ "$GITHUB_WORKFLOW" ]; then + echo "SCCACHE_GHA_ENABLED=true" >> "$GITHUB_ENV" + fi + echo "RUSTC_WRAPPER=sccache" >> "$GITHUB_ENV" + echo "CARGO_INCREMENTAL=0" >> "$GITHUB_ENV" + - name: Checkout NSS if: env.BUILD_NSS == '1' uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 @@ -138,6 +157,7 @@ runs: echo "DYLD_FALLBACK_LIBRARY_PATH=$NSS_OUT/lib" >> "$GITHUB_ENV" echo "$NSS_OUT/lib" >> "$GITHUB_PATH" echo "NSS_DIR=$NSS_DIR" >> "$GITHUB_ENV" + [ "$SCCACHE_CC" ] && [ "$SCCACHE_CXX" ] && export CC="$SCCACHE_CC" CXX="$SCCACHE_CXX" $NSS_DIR/build.sh -g -Ddisable_tests=1 $OPT --static env: NSS_DIR: ${{ github.workspace }}/nss