@@ -8,157 +8,110 @@ os: linux
88language: cpp
99env:
1010 global:
11- - PYTHON2_VERSION="2.7.15"
12- - PYTHON3_VERSION="3.6.7" # "3.7.1" after #29326 is fixed
13- - PYTHON2_CACHE=$HOME/.ccache/py${PYTHON2_VERSION}
14- - PYTHON3_CACHE=$HOME/.ccache/py${PYTHON3_VERSION}
15- cache:
16- ccache: true
17- directories:
18- - ${PYTHON2_CACHE}
19- - ${PYTHON3_CACHE}
11+ - PYTHON_VERSION="2.7.15"
2012jobs:
2113 include:
2214 - stage: "Compile"
23- name: "Compile V8 (py2)"
15+ name: "Compile V8"
16+ cache: ccache
2417 addons:
2518 apt:
26- update: true
2719 sources:
2820 - ubuntu-toolchain-r-test
2921 packages:
3022 - g++-6
3123 install: *ccache-setup-steps
3224 script:
33- - pyenv global ${PYTHON2_VERSION }
25+ - pyenv global ${PYTHON_VERSION }
3426 - ./configure
3527 - make -j2 -C out V=1 v8
3628
37- - name: "Compile V8 (py3)"
29+ - name: "Compile Node.js"
30+ cache: ccache
3831 addons:
3932 apt:
40- update: true
4133 sources:
4234 - ubuntu-toolchain-r-test
4335 packages:
4436 - g++-6
4537 install: *ccache-setup-steps
4638 script:
47- - pyenv global ${PYTHON3_VERSION}
48- # - ./configure # workaround pending #25878
49- - python3 configure.py
50- - make -j2 -C out V=1 v8
51-
52- - name: "Compile Node.js (py2)"
53- addons:
54- apt:
55- update: true
56- sources:
57- - ubuntu-toolchain-r-test
58- packages:
59- - g++-6
60- install: *ccache-setup-steps
61- script:
62- - pyenv global ${PYTHON2_VERSION}
39+ - pyenv global ${PYTHON_VERSION}
6340 - ./configure
6441 - make -j2 V=1
65- - cp out/Release/node ${PYTHON2_CACHE}
66- - cp out/Release/cctest ${PYTHON2_CACHE}
67-
68- - name: "Compile Node.js (py3)"
69- addons:
70- apt:
71- update: true
72- sources:
73- - ubuntu-toolchain-r-test
74- packages:
75- - g++-6
76- install: *ccache-setup-steps
77- script:
78- - pyenv global ${PYTHON3_VERSION}
79- # - ./configure # workaround pending #25878
80- - python3 configure.py
81- - make -j2 V=1
82- - cp out/Release/node ${PYTHON3_CACHE}
83- - cp out/Release/cctest ${PYTHON3_CACHE}
42+ - cp out/Release/node /home/travis/.ccache
43+ - cp out/Release/cctest /home/travis/.ccache
8444
8545 - stage: "Tests"
86- name: "Test JS Suites (py2)"
87- install:
88- - mkdir -p out/Release
89- - cp ${PYTHON2_CACHE}/node out/Release/node
90- script:
91- - pyenv global ${PYTHON2_VERSION}
92- - python tools/test.py -j 2 -p dots --report --mode=release --flaky-tests=dontcare default
93-
94- - name: "Test JS Suites (py3)"
46+ name: "Test JS Suites"
47+ cache: ccache
9548 install:
9649 - mkdir -p out/Release
97- - cp ${PYTHON3_CACHE} /node out/Release/node
50+ - cp /home/travis/.ccache /node out/Release/node
9851 script:
99- - pyenv global ${PYTHON3_VERSION }
52+ - pyenv global ${PYTHON_VERSION }
10053 - python tools/test.py -j 2 -p dots --report --mode=release --flaky-tests=dontcare default
10154
102- - name: "Test C++ Suites (py2)"
55+ - name: "Test C++ Suites"
56+ cache: ccache
10357 install:
10458 - export CCACHE_NOSTATS=1
10559 - export CCACHE_SLOPPINESS="file_macro,include_file_mtime,include_file_ctime,time_macros,file_stat_matches"
10660 - export CC='ccache gcc'
10761 - export CXX='ccache g++'
10862 - mkdir -p out/Release
109- - cp ${PYTHON2_CACHE} /node out/Release/node
63+ - cp /home/travis/.ccache /node out/Release/node
11064 - ln -fs out/Release/node node
111- - cp ${PYTHON2_CACHE} /cctest out/Release/cctest
65+ - cp /home/travis/.ccache /cctest out/Release/cctest
11266 - touch config.gypi
11367 script:
114- - pyenv global ${PYTHON2_VERSION }
68+ - pyenv global ${PYTHON_VERSION }
11569 - out/Release/cctest
11670 - make -j1 V=1 test/addons/.buildstamp test/js-native-api/.buildstamp test/node-api/.buildstamp
11771 - python tools/test.py -j 2 -p dots --report --mode=release --flaky-tests=dontcare addons js-native-api node-api
11872
119- - name: "Test C++ Suites (py3)"
120- install:
121- - export CCACHE_NOSTATS=1
122- - export CCACHE_SLOPPINESS="file_macro,include_file_mtime,include_file_ctime,time_macros,file_stat_matches"
123- - export CC='ccache gcc'
124- - export CXX='ccache g++'
125- - mkdir -p out/Release
126- - cp ${PYTHON3_CACHE}/node out/Release/node
127- - ln -fs out/Release/node node
128- - cp ${PYTHON3_CACHE}/cctest out/Release/cctest
129- - touch config.gypi
130- script:
131- - pyenv global ${PYTHON3_VERSION}
132- - out/Release/cctest
133- - make -j1 V=1 test/addons/.buildstamp test/js-native-api/.buildstamp test/node-api/.buildstamp
134- - python tools/test.py -j 2 -p dots --report --mode=release --flaky-tests=dontcare addons js-native-api node-api
135-
136- - name: "Linter (py2)"
73+ - name: "Linter"
13774 language: node_js
13875 node_js: "node"
13976 install:
140- - pyenv global ${PYTHON2_VERSION }
77+ - pyenv global ${PYTHON_VERSION }
14178 - make lint-py-build || true
14279 script:
14380 - NODE=$(which node) make lint lint-py
14481
145- - name: "Linter (py3)"
82+ - name: "First commit message adheres to guidelines at <a href=\"https://goo.gl/p2fr5Q\">https://goo.gl/p2fr5Q</a>"
83+ if: type = pull_request
84+ language: node_js
85+ node_js: "node"
86+ script:
87+ - if [ "${TRAVIS_PULL_REQUEST}" != "false" ]; then
88+ bash -x tools/lint-pr-commit-message.sh ${TRAVIS_PULL_REQUEST};
89+ fi
90+
91+ - name: "Python 3 is EXPERIMENTAL (Py36)"
14692 language: node_js
14793 node_js: "node"
14894 install:
149- - pyenv global ${PYTHON3_VERSION}
150- - make lint-py-build || true
95+ - pyenv global 3.6.7
96+ - python3.6 -m pip install --upgrade pip
97+ - make lint-py-build
15198 script:
15299 - NODE=$(which node) make lint lint-py
100+ - python3.6 ./configure.py
101+ - NODE=$(which node) make test
153102
154- - name: "First commit message adheres to guidelines at <a href=\"https://goo.gl/p2fr5Q\">https://goo.gl/p2fr5Q</a>"
155- if: type = pull_request
103+ - name: "Python 3 is EXPERIMENTAL (Py37)"
156104 language: node_js
157105 node_js: "node"
106+ install:
107+ - pyenv global 3.7.1
108+ - python3.7 -m pip install --upgrade pip
109+ - make lint-py-build
158110 script:
159- - if [ "${TRAVIS_PULL_REQUEST}" != "false" ]; then
160- bash -x tools/lint-pr-commit-message.sh ${TRAVIS_PULL_REQUEST};
161- fi
111+ - NODE=$(which node) make lint lint-py
112+ - python3.7 ./configure.py
113+ - NODE=$(which node) make test
162114
163115 allow_failures:
164- - name: "Test C++ Suites (py3)" # allow_failures pending #29246
116+ - name: "Python 3 is EXPERIMENTAL (Py36)"
117+ - name: "Python 3 is EXPERIMENTAL (Py37)"
0 commit comments