-
Notifications
You must be signed in to change notification settings - Fork 468
Boost CI speed #6842
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
Boost CI speed #6842
Conversation
8e133a5
to
abe75a6
Compare
The Windows build failure is due to shell compatibility. |
Note: managing cache The cache of a public repository is limited to 10GB in total. Once a repository has reached its maximum cache storage, the cache eviction policy will create space by deleting the oldest caches in the repository. If we want to invalidate the cache at some point, there are several options:
|
8449e1d
to
02495df
Compare
638473d
to
2f7b6b2
Compare
hahahahahaha I won this war |
This comment was marked as resolved.
This comment was marked as resolved.
This reverts commit 4e4277e. The custom container feature seems to have some compatibility issues and doesn't provide any additional optimization anyway
@cknitt I think this will work stably. any remaining feedback? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks again for the great work!
Strategies
Mostly using
actions/cache
build-rewatch
Skip build if there are no changes in rewatch sources and its dependencies.
build
Cache APT dependencies
Pre-install Linux dependencies more efficiently using cache-apt-pkgs-action
Cache OPAM installation
Skip OPAM installation as much as possible.
Once it installed, there are three paths can be cached:
${{ runner.tool_cache }}/opam/...
: Shared storage for binaries installed bysetup-*
actions. It will containopam
executable.~/.opam
: The home directory of OPAM, every modification by OPAM will placed there._opam
: Local switchAfter caching these three, we can restore OPAM installation by adding
PATH
and exportingopam env
.Install JSOO ahead of the job
It can be cached with other deps
Results
build-rewatch
onubuntu-latest
:build
onubuntu-latest
: