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 <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
This commit is contained in:
Richard Lau
2019-11-12 21:03:44 -05:00
parent 722f9588d7
commit 519ca8ea08

View File

@@ -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
env:
@@ -13,7 +7,7 @@ env:
jobs:
include:
- stage: "Compile"
name: "Compile V8"
name: "Compile Node.js"
cache: ccache
addons:
apt:
@@ -21,25 +15,16 @@ jobs:
- 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 -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
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