Skip to content
Permalink
Browse files

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: #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 MylesBorins committed Nov 13, 2019
1 parent 4dfcc12 commit cc93a3742b82f20d9f225c8a6b0b99fb7a279118
Showing with 8 additions and 23 deletions.
  1. +8 −23 .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,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

0 comments on commit cc93a37

Please sign in to comment.
You can’t perform that action at this time.