build: add a `Prepare ccache` job in Travis

Combined compile and test of Node.js where lots of files need to be
compiled (e.g. after a V8 update) is exceeding the time limit for
Travis jobs (50 minutes).

Add a job to Travis that compiles Node.js but doesnt run any tests to
populate the ccache. Introduce staging and move the `Test Suite` job
into a later stage so that it can use the populated ccache.

PR-URL: https://github.com/nodejs/node/pull/27002
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
pull/27006/head
Richard Lau 2019-03-29 12:42:11 -04:00 committed by Rich Trott
parent 30e884f4f4
commit 7ef3acb626
1 changed files with 21 additions and 3 deletions

View File

@ -2,9 +2,13 @@ language: cpp
cache: ccache
os: linux
dist: xenial
stages:
- check
- test
matrix:
include:
- name: "First commit message adheres to guidelines at <a href=\"https://goo.gl/p2fr5Q\">https://goo.gl/p2fr5Q</a>"
stage: check
if: type = pull_request
language: node_js
node_js: "node"
@ -13,13 +17,27 @@ matrix:
bash -x tools/lint-pr-commit-message.sh ${TRAVIS_PULL_REQUEST};
fi
- name: "Linter"
stage: check
language: node_js
node_js: "node"
env:
- NODE=$(which node)
script:
- make lint
- NODE=$(which node) make lint
- name: "Prepare ccache"
stage: check
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-6
install:
- export CC='ccache gcc-6' CXX='ccache g++-6' JOBS=2
- ./configure
- make -j2 V=
script:
- true
- name: "Test Suite"
stage: test
addons:
apt:
sources: