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: