2018-08-20 16:05:28 +02:00
|
|
|
os: linux
|
2019-04-10 22:29:29 +02:00
|
|
|
language: cpp
|
2019-07-15 11:47:10 +02:00
|
|
|
env:
|
|
|
|
global:
|
2019-09-05 15:56:12 +02:00
|
|
|
- PYTHON_VERSION="3.7.1"
|
|
|
|
- PYTHON=python3
|
2019-03-28 22:10:06 +01:00
|
|
|
jobs:
|
2017-08-23 23:24:50 +02:00
|
|
|
include:
|
2019-04-13 01:34:08 +02:00
|
|
|
- stage: "Compile"
|
2019-11-13 03:03:44 +01:00
|
|
|
name: "Compile Node.js"
|
2019-09-02 11:06:36 +02:00
|
|
|
cache: ccache
|
2019-03-29 17:42:11 +01:00
|
|
|
addons:
|
|
|
|
apt:
|
|
|
|
sources:
|
|
|
|
- ubuntu-toolchain-r-test
|
|
|
|
packages:
|
|
|
|
- g++-6
|
2019-11-13 03:03:44 +01:00
|
|
|
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'
|
2019-03-29 17:42:11 +01:00
|
|
|
script:
|
2019-09-02 11:06:36 +02:00
|
|
|
- pyenv global ${PYTHON_VERSION}
|
2019-04-10 22:29:29 +02:00
|
|
|
- ./configure
|
2019-11-13 03:03:44 +01:00
|
|
|
- timeout --preserve-status 45m make -j2 V=1
|
|
|
|
before_cache:
|
2019-09-02 11:06:36 +02:00
|
|
|
- cp out/Release/node /home/travis/.ccache
|
|
|
|
- cp out/Release/cctest /home/travis/.ccache
|
2019-03-28 22:10:06 +01:00
|
|
|
|
|
|
|
- stage: "Tests"
|
2019-09-02 11:06:36 +02:00
|
|
|
name: "Test JS Suites"
|
|
|
|
cache: ccache
|
2017-08-23 23:24:50 +02:00
|
|
|
install:
|
2019-04-10 22:29:29 +02:00
|
|
|
- mkdir -p out/Release
|
2019-09-02 11:06:36 +02:00
|
|
|
- cp /home/travis/.ccache/node out/Release/node
|
2019-04-10 22:29:29 +02:00
|
|
|
script:
|
2019-09-02 11:06:36 +02:00
|
|
|
- pyenv global ${PYTHON_VERSION}
|
2019-04-10 22:29:29 +02:00
|
|
|
- python tools/test.py -j 2 -p dots --report --mode=release --flaky-tests=dontcare default
|
|
|
|
|
2019-09-02 11:06:36 +02:00
|
|
|
- name: "Test C++ Suites"
|
|
|
|
cache: ccache
|
2019-04-10 22:29:29 +02:00
|
|
|
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'
|
|
|
|
- export CXX='ccache g++'
|
|
|
|
- mkdir -p out/Release
|
2019-09-02 11:06:36 +02:00
|
|
|
- cp /home/travis/.ccache/node out/Release/node
|
2019-04-10 22:29:29 +02:00
|
|
|
- ln -fs out/Release/node node
|
2019-09-02 11:06:36 +02:00
|
|
|
- cp /home/travis/.ccache/cctest out/Release/cctest
|
2019-04-10 22:29:29 +02:00
|
|
|
- touch config.gypi
|
2017-08-23 23:24:50 +02:00
|
|
|
script:
|
2019-09-02 11:06:36 +02:00
|
|
|
- pyenv global ${PYTHON_VERSION}
|
2019-04-10 22:29:29 +02:00
|
|
|
- out/Release/cctest
|
|
|
|
- make -j1 V=1 test/addons/.buildstamp test/js-native-api/.buildstamp test/node-api/.buildstamp
|
|
|
|
- python tools/test.py -j 2 -p dots --report --mode=release --flaky-tests=dontcare addons js-native-api node-api
|
2019-04-13 01:34:08 +02:00
|
|
|
|
2019-09-30 19:14:18 +02:00
|
|
|
- name: "Run Linter and Build Docs"
|
2019-04-13 01:34:08 +02:00
|
|
|
language: node_js
|
|
|
|
node_js: "node"
|
2019-08-28 08:27:41 +02:00
|
|
|
install:
|
2019-09-02 11:06:36 +02:00
|
|
|
- pyenv global ${PYTHON_VERSION}
|
2019-08-28 08:27:41 +02:00
|
|
|
- make lint-py-build || true
|
2019-04-13 01:34:08 +02:00
|
|
|
script:
|
2019-09-30 19:14:18 +02:00
|
|
|
- NODE=$(which node) make lint-py doc-only lint
|
2019-08-18 22:42:12 +02:00
|
|
|
|
2019-09-02 11:06:36 +02:00
|
|
|
- name: "First commit message adheres to guidelines at <a href=\"https://goo.gl/p2fr5Q\">https://goo.gl/p2fr5Q</a>"
|
|
|
|
if: type = pull_request
|
|
|
|
language: node_js
|
|
|
|
node_js: "node"
|
|
|
|
script:
|
|
|
|
- if [ "${TRAVIS_PULL_REQUEST}" != "false" ]; then
|
|
|
|
bash -x tools/lint-pr-commit-message.sh ${TRAVIS_PULL_REQUEST};
|
|
|
|
fi
|
2019-10-27 11:10:58 +01:00
|
|
|
|
|
|
|
- name: "Find syntax errors in our Python dependencies"
|
|
|
|
language: python
|
|
|
|
python: 3.8
|
|
|
|
install:
|
|
|
|
- mv .flake8 disabled.flake8 # take the blinders off of flake8
|
|
|
|
- python3.8 -m pip install --upgrade pip
|
|
|
|
- python3.8 -m pip install flake8
|
|
|
|
script:
|
|
|
|
- flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
|
|
|
|
allow_failures: # TODO (cclauss): remove this when dependencies are clean
|
|
|
|
- name: "Find syntax errors in our Python dependencies"
|