summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2019-07-08 10:57:56 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2019-07-08 10:57:56 (GMT)
commit309510e33e21be5b348ecbb387c0a5b9bb18f45f (patch)
treef27584122c0e12b86d4ca4721edbeab2ddd908d3
parent58c45c0f9722bcdafc1aa3402c54437ca0e33c6d (diff)
downloadtcl-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.yml106
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: