Mercurial > vim
comparison .travis.yml @ 15723:bec05be6858a v8.1.0869
patch 8.1.0869: Travis CI script is too complicated
commit https://github.com/vim/vim/commit/01a6c21691631ee55744a1799a9725e5d6521cf4
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Feb 3 13:13:18 2019 +0100
patch 8.1.0869: Travis CI script is too complicated
Problem: Travis CI script is too complicated.
Solution: Add names to environments. Move appveyor script outside of src
directory. (Ozaki Kiichi, closes #3890)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 03 Feb 2019 13:15:06 +0100 |
parents | e093e8809467 |
children | f80c1a4be2c5 |
comparison
equal
deleted
inserted
replaced
15722:d21ea191c11a | 15723:bec05be6858a |
---|---|
8 compiler: | 8 compiler: |
9 - clang | 9 - clang |
10 - gcc | 10 - gcc |
11 | 11 |
12 env: | 12 env: |
13 - BUILD=yes TEST=test COVERAGE=no FEATURES=tiny "CONFOPT='--disable-gui'" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no | 13 - &tiny-nogui |
14 - BUILD=yes TEST=test COVERAGE=no FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no | 14 BUILD=yes TEST=test COVERAGE=no FEATURES=tiny "CONFOPT='--disable-gui'" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no |
15 # ASAN build | 15 - &tiny |
16 - BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer" | 16 BUILD=yes TEST=test COVERAGE=no FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no |
17 - &asan # ASAN build | |
18 BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer" | |
17 FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt" | 19 FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt" |
18 "CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp'" | 20 "CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp'" |
19 - BUILD=yes TEST="scripttests test_libvterm" COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no | 21 - &linux-huge |
22 BUILD=yes TEST="scripttests test_libvterm" COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no | |
20 "CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp'" | 23 "CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp'" |
21 - BUILD=no TEST=unittests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes | 24 - &unittests |
22 - BUILD=yes TEST=test COVERAGE=no FEATURES=normal CONFOPT= SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow CHECK_AUTOCONF=no | 25 BUILD=no TEST=unittests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes |
23 - BUILD=yes TEST=test COVERAGE=no FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no | 26 - &normal |
24 # Mac OSX build | 27 BUILD=yes TEST=test COVERAGE=no FEATURES=normal CONFOPT= SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow CHECK_AUTOCONF=no |
25 - BUILD=yes TEST=test COVERAGE=no FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no | 28 - &small |
29 BUILD=yes TEST=test COVERAGE=no FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no | |
30 - &osx-huge # Mac OSX build | |
31 BUILD=yes TEST=test COVERAGE=no FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no | |
26 "CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp'" | 32 "CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp'" |
27 | 33 |
28 sudo: false | 34 sudo: false |
29 | 35 |
30 # instead of a 2*2*7 matrix (2*os + 2*compiler + 7*env), | 36 # instead of a 2*2*8 matrix (2*os + 2*compiler + 8*env), |
31 # exclude some builds on mac os x and linux | 37 # exclude some builds on mac os x and linux |
32 # on mac os x "tiny" is always without GUI | 38 # on mac os x "tiny" is always without GUI |
33 # linux: 2*compiler + 5*env + mac: 2*compiler + 2*env | 39 # linux: 2*compiler + 5*env + mac: 2*compiler + 2*env |
34 matrix: | 40 matrix: |
35 exclude: | 41 exclude: |
36 - os: osx | 42 - os: osx |
37 env: BUILD=yes TEST=test COVERAGE=no FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no | 43 env: *tiny |
38 - os: osx | 44 - os: osx |
39 env: BUILD=yes TEST=test COVERAGE=no FEATURES=normal CONFOPT= SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow CHECK_AUTOCONF=no | 45 env: *normal |
40 - os: osx | 46 - os: osx |
41 env: BUILD=no TEST=unittests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes | 47 env: *unittests |
42 - os: osx | 48 - os: osx |
43 env: BUILD=yes TEST=test COVERAGE=no FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no | 49 env: *small |
44 - os: osx | 50 - os: osx |
45 env: BUILD=yes TEST="scripttests test_libvterm" COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no | 51 env: *linux-huge |
46 "CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp'" | |
47 - os: osx | 52 - os: osx |
48 env: BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer" | 53 env: *asan |
49 FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt" | |
50 "CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp'" | |
51 - os: linux | 54 - os: linux |
52 compiler: clang | 55 compiler: clang |
53 env: BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer" | 56 env: *asan |
54 FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt" | |
55 "CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp'" | |
56 - os: linux | 57 - os: linux |
57 compiler: clang | 58 compiler: clang |
58 env: BUILD=no TEST=unittests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes | 59 env: *unittests |
59 - os: linux | 60 - os: linux |
60 compiler: clang | 61 compiler: clang |
61 env: BUILD=yes TEST=test COVERAGE=no FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no | 62 env: *small |
62 - os: linux | 63 - os: linux |
63 env: BUILD=yes TEST=test COVERAGE=no FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no | 64 env: *osx-huge |
64 "CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp'" | |
65 | 65 |
66 branches: | 66 branches: |
67 except: | 67 except: |
68 - /^v[0-9]/ | 68 - /^v[0-9]/ |
69 | 69 |
87 - lua | 87 - lua |
88 update: true | 88 update: true |
89 | 89 |
90 before_install: | 90 before_install: |
91 - rvm reset | 91 - rvm reset |
92 # Remove /opt/python/3.x.x/bin from $PATH for using system python3. | 92 # Remove /opt/python/3.x.x/bin from $PATH for using system python3. |
93 # ("pyenv global system" doesn't seem to work.) | 93 # ("pyenv global system" doesn't seem to work.) |
94 - if [ "$TRAVIS_OS_NAME" = "linux" ] && which python3 | grep '/opt/python/' > /dev/null; then export PATH=$(echo $PATH | sed -e "s#$(echo $(which python3) | sed -e 's#/python3$##'):##"); fi | 94 - | |
95 - if [ "$COVERAGE" = "yes" ]; then pip install --user cpp-coveralls; fi | 95 if [[ "${TRAVIS_OS_NAME}" = "linux" ]] && [[ "$(which python3)" =~ ^/opt/python/ ]]; then |
96 # needed for https support for coveralls | 96 export PATH=$(py3=$(which python3); echo ${PATH//${py3%/python3}:/}) |
97 # building cffi only works with gcc, not with clang | 97 fi |
98 - if [ "$COVERAGE" = "yes" ]; then CC=gcc pip install --user pyopenssl ndg-httpsclient pyasn1; fi | 98 - | |
99 # Lua is not installed on Travis OSX | 99 if [[ "${COVERAGE}" = "yes" ]]; then |
100 - if [ "$TRAVIS_OS_NAME" = "osx" ]; then export LUA_PREFIX=/usr/local; fi | 100 pip install --user cpp-coveralls |
101 # Use llvm-cov instead of gcov when compiler is clang. | 101 fi |
102 - if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$CC" = "clang" ]; then ln -sf $(which llvm-cov) /home/travis/bin/gcov; fi | 102 # needed for https support for coveralls |
103 # building cffi only works with gcc, not with clang | |
104 - | | |
105 if [[ "${COVERAGE}" = "yes" ]]; then | |
106 CC=gcc pip install --user pyopenssl ndg-httpsclient pyasn1 | |
107 fi | |
108 # Lua is not installed on Travis OSX | |
109 - | | |
110 if [[ "${TRAVIS_OS_NAME}" = "osx" ]]; then | |
111 export LUA_PREFIX=/usr/local | |
112 fi | |
113 # Use llvm-cov instead of gcov when compiler is clang. | |
114 - | | |
115 if [[ "${TRAVIS_OS_NAME}" = "linux" ]] && [[ "${CC}" = "clang" ]]; then | |
116 ln -sf "$(which llvm-cov)" /home/travis/bin/gcov | |
117 fi | |
103 | 118 |
104 # Start virtual framebuffer to be able to test the GUI. Does not work on OS X. | |
105 before_script: | 119 before_script: |
106 - if [ "$TRAVIS_OS_NAME" = "linux" ]; then export DISPLAY=:99.0 && sh -e /etc/init.d/xvfb start && sleep 3; fi | 120 # Start virtual framebuffer to be able to test the GUI. Does not work on OS X. |
121 - | | |
122 if [[ "${TRAVIS_OS_NAME}" = "linux" ]]; then | |
123 export DISPLAY=:99.0 | |
124 sh -e /etc/init.d/xvfb start && sleep 3 | |
125 fi | |
107 | 126 |
108 script: | 127 script: |
109 - NPROC=$(getconf _NPROCESSORS_ONLN) | 128 - NPROC=$(getconf _NPROCESSORS_ONLN) |
110 - if [ "$CHECK_AUTOCONF" = "yes" -a "$CC" = "gcc" ]; then make -C src autoconf; fi | 129 - | |
111 - if [ "x$SHADOWOPT" != x ]; then make -C src shadow; fi | 130 if [[ "${CHECK_AUTOCONF}" = "yes" ]] && [[ "${CC}" = "gcc" ]]; then |
112 - (cd ${SRCDIR} && ./configure --with-features=$FEATURES $CONFOPT --enable-fail-if-missing && if [ "$BUILD" = "yes" ]; then make -j$NPROC; fi) | 131 make -C src autoconf |
113 # Show Vim version and also if_xx versions. | 132 fi |
114 - if [ "$BUILD" = "yes" ]; then ${SRCDIR}/vim --version; ${SRCDIR}/vim --not-a-term -u NONE -S ${SRCDIR}/testdir/if_ver-1.vim -c quit > /dev/null; ${SRCDIR}/vim --not-a-term -u NONE -S ${SRCDIR}/testdir/if_ver-2.vim -c quit > /dev/null; cat if_ver.txt; fi | 133 - | |
115 - make $SHADOWOPT $TEST | 134 if [[ -n "${SHADOWOPT}" ]]; then |
116 - if [ -n "$ASAN_OPTIONS" ]; then for log in $(find -type f -name 'asan.*' -size +0); do asan_symbolize < "$log"; err=1; done; fi | 135 make -C src shadow |
117 - if [ -n "$err" ]; then exit 1; fi | 136 fi |
137 - | | |
138 ( | |
139 cd "${SRCDIR}" \ | |
140 && ./configure --with-features=${FEATURES} ${CONFOPT} --enable-fail-if-missing | |
141 ) && if [[ "${BUILD}" = "yes" ]]; then | |
142 make ${SHADOWOPT} -j${NPROC} | |
143 fi | |
144 # Show Vim version and also if_xx versions. | |
145 - | | |
146 if [[ "${BUILD}" = "yes" ]]; then | |
147 "${SRCDIR}"/vim --version | |
148 "${SRCDIR}"/vim --not-a-term -u NONE -S "${SRCDIR}"/testdir/if_ver-1.vim -c quit > /dev/null | |
149 "${SRCDIR}"/vim --not-a-term -u NONE -S "${SRCDIR}"/testdir/if_ver-2.vim -c quit > /dev/null | |
150 cat if_ver.txt | |
151 fi | |
152 - make ${SHADOWOPT} ${TEST} | |
153 - | | |
154 if [[ -n "${ASAN_OPTIONS}" ]]; then | |
155 while read log; do | |
156 asan_symbolize < "${log}" | |
157 done < <(find . -type f -name 'asan.*' -size +0) | |
158 [[ -z "${log}" ]] # exit 1 if there are ASAN logs | |
159 fi | |
118 | 160 |
119 after_success: | 161 after_success: |
120 - if [ "$COVERAGE" = "yes" ]; then ~/.local/bin/coveralls -b ${SRCDIR} -x .xs -e ${SRCDIR}/if_perl.c -e ${SRCDIR}/xxd -e ${SRCDIR}/libvterm --encodings utf-8 latin-1 EUC-KR; fi | 162 - | |
121 - if [ "$COVERAGE" = "yes" ]; then cd ${SRCDIR} && bash <(curl -s https://codecov.io/bash) ; fi | 163 if [[ "${COVERAGE}" = "yes" ]]; then |
164 ~/.local/bin/coveralls -b "${SRCDIR}" -x .xs -e "${SRCDIR}"/if_perl.c -e "${SRCDIR}"/xxd -e "${SRCDIR}"/libvterm --encodings utf-8 latin-1 EUC-KR | |
165 fi | |
166 - | | |
167 if [[ "${COVERAGE}" = "yes" ]]; then | |
168 (cd "${SRCDIR}" && bash <(curl -s https://codecov.io/bash)) | |
169 fi | |
122 | 170 |
123 # vim:set sts=2 sw=2 tw=0 et: | 171 # vim:set sts=2 sw=2 tw=0 et: |