yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

Ellie HermaszewskaRemove sccache (#5206)c7584b29f

master
1.4 KiB36 linesraw

Our CI

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.

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.

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

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.

1# Our CI
2
3There are github actions for building and testing slang.
4
5## Tests
6
7Most configurations run a restricted set of tests, however on some self hosted
8runners we run the full test suite, as well as running Falcor's test suite with
9the new slang build.
10
11## Building LLVM
12
13We require a static build of LLVM for building slang-llvm, we build and cache
14this in all workflow runs. Since this changes infrequently, the cache is almost
15always hit. A cold build takes about an hour on the slowest platform. The
16cached output is a few hundred MB, so conceivably if we add many more platforms
17we might be caching more than the 10GB github allowance, which would
18necessitate being a bit more complicated in building and tracking outputs here.
19
20For slang-llvm, this is handled the same as any other dependency, except on
21Windows Debug builds, where we are required by the differences in Debug/Release
22standard libraries to always make a release build, this is noted in the ci
23action yaml file.
24
25Note that we don't use sccache while building LLVM, as it changes very
26infrequently. The caching of LLVM is done by caching the final build product
27only.
28
29## sccache
30
31> Due to reliability issues, we are not currently using sccache, this is
32> historical/aspirational.
33
34The CI actions use sccache, keyed on compiler and platform, this runs on all
35configurations and significantly speeds up small source change builds. This
36cache can be safely missed without a large impact on build times.