diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2019-07-08 10:57:56 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2019-07-08 10:57:56 (GMT) |
commit | 309510e33e21be5b348ecbb387c0a5b9bb18f45f (patch) | |
tree | f27584122c0e12b86d4ca4721edbeab2ddd908d3 | |
parent | 58c45c0f9722bcdafc1aa3402c54437ca0e33c6d (diff) | |
download | tcl-309510e33e21be5b348ecbb387c0a5b9bb18f45f.zip tcl-309510e33e21be5b348ecbb387c0a5b9bb18f45f.tar.gz tcl-309510e33e21be5b348ecbb387c0a5b9bb18f45f.tar.bz2 |
Tweak the build a bit more, and use YAML a bit better
-rw-r--r-- | .travis.yml | 106 |
1 files changed, 46 insertions, 60 deletions
diff --git a/.travis.yml b/.travis.yml index e7c3532..f73b6c5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,6 +3,7 @@ language: c matrix: include: +# Testing on Linux with various compilers - name: "Linux/Clang/Shared" os: linux dist: xenial @@ -29,6 +30,7 @@ matrix: env: - CFGOPT=--disable-shared - BUILD_DIR=unix +# Older versions of GCC... - name: "Linux/GCC 4.9/Shared" os: linux dist: xenial @@ -77,6 +79,7 @@ matrix: - g++-7 env: - BUILD_DIR=unix +# Testing on Mac, various styles - name: "macOS/Xcode 8/Shared/Unix-like" os: osx osx_image: xcode8 @@ -87,10 +90,10 @@ matrix: osx_image: xcode8 env: - BUILD_DIR=macosx - install: - - echo skipping configure - script: + install: [] + script: &mactest - make all + - make tcltest # The styles=develop avoids some weird problems on OSX - make test styles=develop - name: "macOS/Xcode 9/Shared/Mac-like" @@ -98,34 +101,22 @@ matrix: osx_image: xcode9 env: - BUILD_DIR=macosx - install: - - echo skipping configure - script: - - make all - # The styles=develop avoids some weird problems on OSX - - make test styles=develop + install: [] + script: *mactest - name: "macOS/Xcode 10/Shared/Mac-like" os: osx osx_image: xcode10.2 env: - BUILD_DIR=macosx - install: - - echo skipping configure - script: - - make all - # The styles=develop avoids some weird problems on OSX - - make test styles=develop -### C builds not currently directly supported on Windows instances -# - os: windows -# env: -# - BUILD_DIR=win -### ... so proxy with a Mingw cross-compile -# Test with mingw-w64 (32 bit) + install: [] + script: *mactest +# Test with mingw-w64 (32 bit) cross-compile +# Doesn't run tests because wine is only an imperfect Windows emulation - name: "Linux-cross-Windows-32/GCC/Shared/no test" os: linux dist: xenial compiler: i686-w64-mingw32-gcc - addons: + addons: &mingw32 apt: packages: - gcc-mingw-w64-base @@ -137,34 +128,27 @@ matrix: env: - BUILD_DIR=win - CFGOPT="--host=i686-w64-mingw32 --enable-threads" - script: - - make all tcltest - - 'echo SKIPPED TEST: CROSS COMPILING' + script: &crosstest + - make all + - make tcltest + # Include a high visibility marker that tests are skipped outright + - echo "`tput setaf 3`SKIPPED TEST: CROSS COMPILING`tput sgr0`" - name: "Linux-cross-Windows-32/GCC/Static/no test" os: linux dist: xenial compiler: i686-w64-mingw32-gcc - addons: - apt: - packages: - - gcc-mingw-w64-base - - binutils-mingw-w64-i686 - - gcc-mingw-w64-i686 - - gcc-mingw-w64 - - gcc-multilib - - wine + addons: *mingw32 env: - BUILD_DIR=win - CFGOPT="--host=i686-w64-mingw32 --disable-shared --enable-threads" - script: - - make all tcltest - - 'echo SKIPPED TEST: CROSS COMPILING' + script: *crosstest # Test with mingw-w64 (64 bit) +# Doesn't run tests because wine is only an imperfect Windows emulation - name: "Linux-cross-Windows-64/GCC/Shared/no test" os: linux dist: xenial compiler: x86_64-w64-mingw32-gcc - addons: + addons: &mingw64 apt: packages: - gcc-mingw-w64-base @@ -175,27 +159,17 @@ matrix: env: - BUILD_DIR=win - CFGOPT="--host=x86_64-w64-mingw32 --enable-64bit --enable-threads" - script: - - make all tcltest - - 'echo SKIPPED TEST: CROSS COMPILING' + script: *crosstest - name: "Linux-cross-Windows-64/GCC/Static/no test" os: linux dist: xenial compiler: x86_64-w64-mingw32-gcc - addons: - apt: - packages: - - gcc-mingw-w64-base - - binutils-mingw-w64-x86-64 - - gcc-mingw-w64-x86-64 - - gcc-mingw-w64 - - wine + addons: *mingw64 env: - BUILD_DIR=win - CFGOPT="--host=x86_64-w64-mingw32 --enable-64bit --enable-threads --disable-shared" - script: - - make all tcltest - - 'echo SKIPPED TEST: CROSS COMPILING' + script: *crosstest +# Test on Windows with GCC native - name: "Windows/GCC/Shared" os: windows compiler: gcc @@ -214,24 +188,36 @@ matrix: before_install: - choco install make - cd ${BUILD_DIR} +# Test on Windows with MSVC native - name: "Windows/MSVC/Shared" os: windows compiler: cl - env: + env: &vcenv - BUILD_DIR=win - before_install: - - PATH=$PATH:"/C/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Auxiliary/Build" + - VCDIR="/C/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Auxiliary/Build" + before_install: &vcpreinst + - PATH="$PATH:$VCDIR" - cd ${BUILD_DIR} - install: - - echo skipping configure - script: - - cmd.exe /C 'vcvarsall.bat x64 && nmake -f makefile.vc all tcltest' + install: [] + script: &vctest + - cmd.exe /C 'vcvarsall.bat x64 && nmake -f makefile.vc all' + - cmd.exe /C 'vcvarsall.bat x64 && nmake -f makefile.vc tcltest' - cmd.exe /C 'vcvarsall.bat x64 && nmake -f makefile.vc test' + - name: "Windows/MSVC/Unshared" + os: windows + compiler: cl + env: *vcenv + before_install: *vcpreinst + install: [] + script: &vctest + - cmd.exe /C 'vcvarsall.bat x64 && nmake OPTS=static -f makefile.vc all' + - cmd.exe /C 'vcvarsall.bat x64 && nmake OPTS=static -f makefile.vc tcltest' + - cmd.exe /C 'vcvarsall.bat x64 && nmake OPTS=static -f makefile.vc test' before_install: - cd ${BUILD_DIR} install: - - ./configure ${CFGOPT} + - ./configure ${CFGOPT} --prefix=$HOME before_script: - export ERROR_ON_FAILURES=1 script: |