diff options
| author | Ellie Hermaszewska <ellieh@nvidia.com> | 2024-10-18 15:49:56 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-18 15:49:56 +0800 |
| commit | c7584b29f9999744fe4f37e62c021d3e229dcfba (patch) | |
| tree | 307f113f388456b3203664b4b6d738ae1803f7df | |
| parent | 12e891ed9ac934adbcc4160da6a05938cc38b529 (diff) | |
Remove sccache (#5206)
* Remove sccache
* CI docs
| -rw-r--r-- | .github/actions/common-setup/action.yml | 10 | ||||
| -rw-r--r-- | docs/ci.md | 28 |
2 files changed, 23 insertions, 15 deletions
diff --git a/.github/actions/common-setup/action.yml b/.github/actions/common-setup/action.yml index 8bdb9c172..89ca4c78b 100644 --- a/.github/actions/common-setup/action.yml +++ b/.github/actions/common-setup/action.yml @@ -126,15 +126,6 @@ runs: path: ${{ github.workspace }}/build/llvm-project-install key: ${{ steps.cache-llvm.outputs.cache-primary-key }} - - # Run this after building llvm, it's pointless to fill the caches with - # infrequent llvm build products - - name: Set up sccache - uses: mozilla-actions/sccache-action@v0.0.6 - # Opportunistically use sccache, it's not available for example on self - # hosted runners or ARM - continue-on-error: true - - name: Set environment variable for CMake and sccache shell: bash run: | @@ -145,7 +136,6 @@ runs: # Set CMake to use sccache if it's available if command -v sccache; then - echo "SCCACHE_GHA_ENABLED=true" >> "$GITHUB_ENV" echo "CMAKE_CXX_COMPILER_LAUNCHER=sccache" >> "$GITHUB_ENV" echo "CMAKE_C_COMPILER_LAUNCHER=sccache" >> "$GITHUB_ENV" fi diff --git a/docs/ci.md b/docs/ci.md index bfb101dff..fb4c7e68b 100644 --- a/docs/ci.md +++ b/docs/ci.md @@ -1,18 +1,36 @@ # Our CI -There are github actions for testing building and testing slang. +There are github actions for building and testing slang. ## Tests -Most configurations run a restricted set of tests, however on some self hosted runners we run the full test suite, as well as running Falcor's test suite with the new slang build. +Most configurations run a restricted set of tests, however on some self hosted +runners we run the full test suite, as well as running Falcor's test suite with +the new slang build. ## Building LLVM -We require a static build of LLVM for building slang-llvm, we build and cache this in all workflow runs. Since this changes infrequently, the cache is almost always hit. A cold build takes about an hour on the slowest platform. The cached output is a few hundred MB, so conceivably if we add many more platforms we might be caching more than the 10GB github allowance, which would necessitate being a bit more complicated in building and tracking outputs here. +We require a static build of LLVM for building slang-llvm, we build and cache +this in all workflow runs. Since this changes infrequently, the cache is almost +always hit. A cold build takes about an hour on the slowest platform. The +cached output is a few hundred MB, so conceivably if we add many more platforms +we might be caching more than the 10GB github allowance, which would +necessitate being a bit more complicated in building and tracking outputs here. -For slang-llvm, this is handled the same as any other dependency, except on Windows Debug builds, where we are required by the differences in Debug/Release standard libraries to always make a release build, this is noted in the ci action yaml file. +For slang-llvm, this is handled the same as any other dependency, except on +Windows Debug builds, where we are required by the differences in Debug/Release +standard libraries to always make a release build, this is noted in the ci +action yaml file. + +Note that we don't use sccache while building LLVM, as it changes very +infrequently. The caching of LLVM is done by caching the final build product +only. ## sccache -The CI actions use sccache, keyed on compiler and platform, this runs on all configurations and significantly speeds up small source change builds. This cache can be safely missed without a large impact on build times. +> Due to reliability issues, we are not currently using sccache, this is +> historical/aspirational. +The CI actions use sccache, keyed on compiler and platform, this runs on all +configurations and significantly speeds up small source change builds. This +cache can be safely missed without a large impact on build times. |
