From e8b06e411fb2c1d9f36284efeea6b0fe9a06af7b Mon Sep 17 00:00:00 2001 From: Richard Lau Date: Tue, 12 Nov 2019 21:03:44 -0500 Subject: [PATCH] build: store cache on timed out builds on Travis Building Node.js without a ccache cache takes longer than the 50 minute Travis time limit for jobs for public repositories. To mitigate this we added a job to compile V8 on the basis that in the worst case it would complete within 50 minutes and provide a cache that could be used by a restarted `Compile Node.js` job. Recent PRs have exceeded the 50 minute time limit for the `Compile V8` job. When Travis times out a build the cache is not stored. This commit drops the `Compile V8` job and adds a manual timeout to the `Compile Node.js` job which will allow the cache to be stored and used in restarts of the job. PR-URL: https://github.com/nodejs/node/pull/30469 Reviewed-By: Anna Henningsen Reviewed-By: Colin Ihrig Reviewed-By: Denys Otrishko --- .travis.yml | 31 ++++++++----------------------- 1 file changed, 8 insertions(+), 23 deletions(-) diff --git a/.travis.yml b/.travis.yml index 50f14e23a948e1..b8811073331932 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,3 @@ -x-ccache-setup-steps: &ccache-setup-steps - - export CCACHE_NOSTATS=1 - - export CCACHE_SLOPPINESS="file_macro,include_file_mtime,include_file_ctime,time_macros,file_stat_matches" - - export CC='ccache gcc-6' - - export CXX='ccache g++-6' - os: linux language: cpp # Currently this file can only support one PYTHON_VERSION. @@ -16,7 +10,7 @@ env: jobs: include: - stage: "Compile" - name: "Compile V8" + name: "Compile Node.js" cache: ccache addons: apt: @@ -24,25 +18,16 @@ jobs: - ubuntu-toolchain-r-test packages: - g++-6 - install: *ccache-setup-steps - script: - - pyenv global ${PYTHON_VERSION} - - ./configure - - make -j2 -C out V=1 v8 - - - name: "Compile Node.js" - cache: ccache - addons: - apt: - sources: - - ubuntu-toolchain-r-test - packages: - - g++-6 - install: *ccache-setup-steps + install: + - export CCACHE_NOSTATS=1 + - export CCACHE_SLOPPINESS="file_macro,include_file_mtime,include_file_ctime,time_macros,file_stat_matches" + - export CC='ccache gcc-6' + - export CXX='ccache g++-6' script: - pyenv global ${PYTHON_VERSION} - ./configure - - make -j2 V=1 + - timeout --preserve-status 45m make -j2 V=1 + before_cache: - cp out/Release/node /home/travis/.ccache - cp out/Release/cctest /home/travis/.ccache