Repository navigation
Add sccache to CI builds - #674
Merged
CoffeeFlux merged 6 commits intoOct 8, 2026
Merged
Conversation
CoffeeFlux
marked this pull request as ready for review
August 21, 2026 18:20
Member
Author
|
Seems to meaningfully shrink build times, though we'll see for sure if it's merged and we get a week or so of data. |
added 2 commits
October 7, 2026 16:16
/usr/bin/clang is the same xcrun shim on Intel and Apple Silicon runners, so sccache's compiler hash matched across them and arm64 builds were served x86_64 objects. Factor a per-toolchain key into the hash via SCCACHE_C_CUSTOM_CACHE_BUSTER.
CoffeeFlux
force-pushed
the
ci/sccache-prototype
branch
from
October 7, 2026 23:30
3c3b4d1 to
615dcec
Compare
Meson wraps compilers it detects itself with sccache when it is on PATH, including MSVC, so the per-job CC/CXX exports are unnecessary. Compilers listed in machine files are not wrapped, so the x86_64 cross build never used sccache; route them through a compiler_cache constant that tools/sccache.ini overrides. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CoffeeFlux
force-pushed
the
ci/sccache-prototype
branch
from
October 8, 2026 00:24
615dcec to
ecdc0ab
Compare
Clang records header mtimes in the PCH, so a PCH served from the cache is rejected once agi_pre.h has a new mtime on a fresh checkout. -Xclang -fno-pch-timestamp would avoid that, but sccache does not hash the PCH contents for its consumers, so a changed precompiled header could then serve stale objects. Linux already builds without PCH; MSVC PCH compiles are not cached by sccache, so Windows is unaffected. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Tag builds produce the official release artifacts, and manual dispatches are how the signing branch runs, so compile those from scratch rather than from cached objects. Without the action, sccache is not on PATH: meson does not wrap the compilers and tools/sccache.ini falls back to the plain cross compilers. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Manual dispatches use sccache by default, with a checkbox to compile from scratch instead (e.g. for signing test runs). Tag builds still never use it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.