Repository navigation
Enable ccache, with its cache outside the build env - #11
Merged
Merged
Conversation
Install ccache in the build env, which activates the existing gcc/g++ symlinks, and point it at a ccache/ directory next to envs/. The build env's path contains the GAP version, so a cache inside it would never be reused; outside it, CI can persist it across builds. Building the packages takes 40-70 of the 55-90 minutes the gap-system/gap CI job needs, almost all of it in libsemigroups, semigroups, Normaliz and CARAT, which change rarely. Assisted-by: Claude Code (Opus 5.5)
From the host Cygwin, `[ -x .../usr/bin/ccache ]` is false although setup installed ccache there, so the ccache setup never ran. Test for ccache.exe instead, and create /usr/local/bin before linking into it. Assisted-by: Generative AI
The build env mounts its bin/ directory as /usr/bin, so setup installs ccache.exe into envs/build-*/bin. The test on envs/build-*/usr/bin never succeeded, whatever the file name, and the ccache setup never ran. Assisted-by: Generative AI
subcyg follows the command's output file with tail -F, which starts at its last 10 lines. Whatever a command prints before tail starts, a second after the command, was cut to those 10 lines, such as the hit and miss counts of `ccache -s`. Start at the first line instead. Assisted-by: Generative AI
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.
Install ccache in the build env, which activates the existing gcc/g++ symlinks, and point it at a ccache/ directory next to envs/. The build env's path contains the GAP version, so a cache inside it would never be reused; outside it, CI can persist it across builds.
Building the packages takes 40-70 of the 55-90 minutes the gap-system/gap CI job needs, almost all of it in libsemigroups, semigroups, Normaliz and CARAT, which change rarely.
Assisted-by: Claude Code (Opus 5.5)