0
0
mirror of https://github.com/nodejs/node.git synced 2024-11-29 15:06:33 +01:00
nodejs/.travis.yml
Ruben Bridgewater 3abe3f2d1a
tools: allow the travis commit message job to fail
Travis often fails due to a commit message that does not adhere to
the commit guidelines. We are able to fix the commit message while
landing and it often confuses new contributors that travis fails.
Keeping the check in place but allowing a test failure to report
success should be a good middle ground.

PR-URL: https://github.com/nodejs/node/pull/31116
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
2019-12-31 16:05:26 +01:00

89 lines
3.1 KiB
YAML

os: linux
language: cpp
env:
global:
- PYTHON_VERSION="3.7.1"
- PYTHON=python3
jobs:
include:
- stage: "Compile"
name: "Compile Node.js"
cache: ccache
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-6
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
- timeout --preserve-status 45m make -j2 V=1
before_cache:
- cp out/Release/node /home/travis/.ccache
- cp out/Release/cctest /home/travis/.ccache
- stage: "Tests"
name: "Test JS Suites"
cache: ccache
install:
- mkdir -p out/Release
- cp /home/travis/.ccache/node out/Release/node
script:
- pyenv global ${PYTHON_VERSION}
- python tools/test.py -j 2 -p dots --report --mode=release --flaky-tests=dontcare default
- name: "Test C++ Suites"
cache: ccache
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
- cp /home/travis/.ccache/node out/Release/node
- ln -fs out/Release/node node
- cp /home/travis/.ccache/cctest out/Release/cctest
- touch config.gypi
script:
- pyenv global ${PYTHON_VERSION}
- 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
- name: "Run Linter and Build Docs"
language: node_js
node_js: "node"
install:
- pyenv global ${PYTHON_VERSION}
- make lint-py-build || true
script:
- NODE=$(which node) make lint-py doc-only lint
- 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
- 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"
- name: "First commit message adheres to guidelines at <a href=\"https://goo.gl/p2fr5Q\">https://goo.gl/p2fr5Q</a>"