[PATCH] D129880: workflows: Use sccache to speed up CI builds

Tom Stellard via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 26 17:26:12 PDT 2022


This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG858ded9cba11: workflows: Use sccache to speed up CI builds (authored by tstellar).

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D129880/new/

https://reviews.llvm.org/D129880

Files:
  .github/workflows/llvm-project-tests.yml


Index: .github/workflows/llvm-project-tests.yml
===================================================================
--- .github/workflows/llvm-project-tests.yml
+++ .github/workflows/llvm-project-tests.yml
@@ -50,9 +50,25 @@
           arch: amd64
       - name: Install Ninja
         uses: llvm/actions/install-ninja at main
+      # actions/checkout deletes any existing files in the new git directory,
+      # so this needs to either run before ccache-action or it has to use
+      # clean: false.
       - uses: actions/checkout at v3
         with:
           fetch-depth: 250
+      - name: Setup ccache
+        uses: hendrikmuhs/ccache-action at v1.2
+        with:
+          # A full build of llvm, clang, lld, and lldb takes about 250MB
+          # of ccache space. There's not much reason to have more than this,
+          # because we usually won't need to save cache entries from older
+          # builds.  Also, there is an overall 10GB cache limit, and each
+          # run creates a new cache entry so we want to ensure that we have
+          # enough cache space for all the tests to run at once and still
+          # fit under the 10 GB limit.
+          max-size: 500M
+          key: sccache-${{ matrix.os }}
+          variant: sccache
       - name: Build and Test
         uses: llvm/actions/build-test-llvm-project at main
         env:
@@ -60,7 +76,7 @@
           # This should be a no-op for non-mac OSes
           PKG_CONFIG_PATH: /usr/local/Homebrew/Library/Homebrew/os/mac/pkgconfig//11
         with:
-          cmake_args: '-GNinja -DLLVM_ENABLE_PROJECTS="${{ inputs.projects }}" -DCMAKE_BUILD_TYPE=Release -DLLDB_INCLUDE_TESTS=OFF'
+          cmake_args: '-GNinja -DLLVM_ENABLE_PROJECTS="${{ inputs.projects }}" -DCMAKE_BUILD_TYPE=Release -DLLDB_INCLUDE_TESTS=OFF -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache'
           build_target:  '${{ inputs.build_target }}'
 
       - name: Build and Test libclc


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D129880.447897.patch
Type: text/x-patch
Size: 1965 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220727/6a3f907d/attachment-0001.bin>


More information about the llvm-commits mailing list