summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/actions/common-setup/action.yml10
-rw-r--r--docs/ci.md28
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.