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
Workaround Travis CI build time problems. #1801
Workaround Travis CI build time problems. #1801
Conversation
Until we have a better solution in place this enables us to bootstrap the build cache. Basically when starting with a completely empty cache the build will stop halfway, which will partially populate the cache and make the next build go faster. The majority of this change is to ensure that "halfway" captures enough things to make for a substantial initial cache. The algorithm to decide if the cache is "cold" is kind of naive, we really test for "the cache has 0 bytes". Obviously this will not work sometimes, for example, if the cache is full of garbage. In that case we can manually clear the cache in Travis and start over. I created googleapis#1800 to track a real solution, because these hacks are not awesome.
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.
I'm no cmake guru, but LGTM.
CMakeLists.txt
Outdated
@@ -139,6 +139,13 @@ set_property(CACHE GOOGLE_CLOUD_CPP_DEPENDENCY_PROVIDER | |||
set(PROJECT_THIRD_PARTY_DIR "${PROJECT_SOURCE_DIR}/third_party") | |||
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) | |||
|
|||
# There are a number of targets that are pure depedencies, i.e., do not contain |
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.
Small typo here: depedencies
Codecov Report
@@ Coverage Diff @@
## master #1801 +/- ##
======================================
Coverage 94.2% 94.2%
======================================
Files 298 298
Lines 16251 16251
======================================
Hits 15309 15309
Misses 942 942 Continue to review full report at Codecov.
|
Until we have a better solution in place this enables us to bootstrap
the build cache. Basically when starting with a completely empty cache
the build will stop halfway, which will partially populate the cache and
make the next build go faster.
The majority of this change is to ensure that "halfway" captures enough
things to make for a substantial initial cache.
The algorithm to decide if the cache is "cold" is kind of naive, we
really test for "the cache has 0 bytes". Obviously this will not work
sometimes, for example, if the cache is full of garbage. In that case we
can manually clear the cache in Travis and start over.
I created #1800 to track a real solution, because these hacks are not
awesome.
This change is