Skip to content

cpp: Enable ccache when testing - #145

Merged
JPEWdev merged 1 commit into
mainfrom
cpp-ccache
Aug 13, 2026
Merged

JPEWdev merged 1 commit into
mainfrom
cpp-ccache

Conversation

@JPEWdev

@JPEWdev JPEWdev commented Aug 13, 2026

Copy link
Copy Markdown
Owner

Enables support for using ccache when running C++ tests. This allows unchanged compiled object files to be pulled from the cache, speeding up testing when the C++ files have not changed.

This results in a 62% reduction in test time when no C++ files have changed

@JPEWdev
JPEWdev requested a review from bact August 13, 2026 19:07
@github-actions

Copy link
Copy Markdown

Coverage report

This PR does not seem to contain any modification to coverable code.

Enables support for using ccache when running C++ tests. This allows
unchanged compiled object files to be pulled from the cache, speeding up
testing when the C++ files have not changed.

This results in a 62% reduction in test time when no C++ files have
changed

@bact bact left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not entirely understand the mechanism of ccache but the structure overall looks good to me

@JPEWdev
JPEWdev merged commit 8967cbe into main Aug 13, 2026
19 checks passed
@JPEWdev
JPEWdev deleted the cpp-ccache branch August 13, 2026 20:09
@JPEWdev

JPEWdev commented Aug 13, 2026

Copy link
Copy Markdown
Owner Author

@bact For an example, since C++ was the longest test suite, the entire runtime of https://github.com/JPEWdev/shacl2code/actions/runs/31742427011 completed in about 8 minutes (down from 12 minutes), and this wasn't even an ideal case since that PR actually modifies C++ code. The C++ and jsonschema tests now take about the same time.

@bact bact added the tests Tests, test spec, test data label Aug 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tests Tests, test spec, test data

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants