Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Speed up build workflow with ccache #135

Merged
merged 1 commit into from
Dec 3, 2021

Conversation

emilienDespres
Copy link
Contributor

Use ccache to speed up C and C++ compilation triggered by build.yml.
This only affect MacOs and Linux runners.

For MacOs, installation, configuration and github caching is done
through the hendrikmuhs/ccache action.
Cmake is set to use ccache through the env variable CMAKE_*_COMPILER_LAUNCHER.

For Linux, installation is done in build-skdecide_dev, config and link with
Cmake in build-many-linux-wheels.sh.
The cache directory is fetched from the docker image to the .ccache directory
to be cached by the default github cache action and reused in later runs

For Linux, the setup is gated by the existence of .ccache directory that is either
restored from github cache or created in Build_x86_64. This ensure that release.yml
doesn't use ccache while still sharing the dockerfiles and scripts used by build.yml.

For both runners, ccache is configured to use compression (by default for the version used by macOs)
and limits cache size to 80M.

Note that for the cache to be saved by github, a new one is created every run.

Use ccache to speed up C and C++ compilation triggered by build.yml.
This only affect macOs and Linux runners.

For macOs, installation, configuration and github caching is done
through the hendrikmuhs/ccache action.
Cmake is set to use ccache through the env variable CMAKE_*_COMPILER_LAUNCHER.

For Linux, installation is done in build-skdecide_dev, config and link with
Cmake in build-many-linux-wheels.sh.
The cache directory is fetched from the docker image to the .ccache directory
to be cached by the default github cache action and reused in later runs

For Linux, the setup is gated by the existence of .ccache directory that is either
restored from github cache or created in Build_x86_64. This ensure that release.yml
doesn't use ccache while still sharing the dockerfiles and scripts used by build.yml.

For both runners, ccache is configured to use compression (by default for the version used by macOs)
and limits cache size to 80M.

Note that for the cache to be saved by github, a new one is created every run.
@galleon galleon merged commit 1645eb7 into airbus:master Dec 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants