From 7ef3acb62651046f542f246d26182b21c6b620a5 Mon Sep 17 00:00:00 2001 From: Richard Lau Date: Fri, 29 Mar 2019 12:42:11 -0400 Subject: [PATCH] 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 Reviewed-By: Rich Trott --- .travis.yml | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2569b44ec39e83..4ab46e5b1bd0c9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -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 https://goo.gl/p2fr5Q" + 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: