Skip to content

Commit

Permalink
build: store cache on timed out builds on Travis
Browse files Browse the repository at this point in the history
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: #30469
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
  • Loading branch information
richardlau authored and targos committed Dec 1, 2019
1 parent 1f54cf5 commit e8b06e4
Showing 1 changed file with 8 additions and 23 deletions.
31 changes: 8 additions & 23 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -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.
Expand All @@ -16,33 +10,24 @@ env:
jobs:
include:
- stage: "Compile"
name: "Compile 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 -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

Expand Down

0 comments on commit e8b06e4

Please sign in to comment.