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