Appveyor Windows testing enhancements
- Test python 3.6 instead of 3.5 under visual c++ - Speed up using 2 make jobs to use both available CPUs - Test cygwin 32 bit and 64 bit C++11 (python only) - Test msys2/mingw 32 bit and 64 bit C++11 (python only) - Remove python 2.7.9 vc++ workaround as we're testing 2.7.10 now
This commit is contained in:
parent
f16f7ada79
commit
f5299fba82
1 changed files with 68 additions and 30 deletions
98
appveyor.yml
98
appveyor.yml
|
|
@ -3,6 +3,9 @@ platform:
|
|||
- x64
|
||||
|
||||
environment:
|
||||
global:
|
||||
MAKEJOBS: 2
|
||||
|
||||
matrix:
|
||||
- SWIGLANG: csharp
|
||||
VSVER: 12
|
||||
|
|
@ -15,64 +18,99 @@ environment:
|
|||
VER: 27
|
||||
- SWIGLANG: python
|
||||
VSVER: 14
|
||||
VER: 35
|
||||
VER: 36
|
||||
PY3: 1
|
||||
- SWIGLANG: python
|
||||
OSVARIANT: cygwin
|
||||
- SWIGLANG: python
|
||||
OSVARIANT: mingw
|
||||
|
||||
install:
|
||||
- date /T & time /T
|
||||
- set PATH=C:\cygwin\bin;%PATH%
|
||||
- set CYGWIN=nodosfilewarning
|
||||
- git clone -q --depth=1 --single-branch --branch cccl-1.0 git://github.com/swig/cccl.git C:\cccl-1.0
|
||||
- bash -c "cp C:/cccl-1.0/cccl /usr/bin"
|
||||
- ps: >-
|
||||
If ($env:Platform -Match "x86") {
|
||||
if ($env:Platform -eq "x86") {
|
||||
$env:PCRE_PLATFORM="Win32"
|
||||
$env:JAVA_HOME="C:/Program Files (x86)/Java/jdk1.8.0"
|
||||
$env:VCVARS_PLATFORM="x86"
|
||||
$env:LANG_PLATFORM=""
|
||||
} Else {
|
||||
$env:CYGWINBIN="C:\cygwin\bin"
|
||||
$env:CYGWINSETUP="C:/cygwin/setup-x86.exe"
|
||||
$env:MSYSBIN="C:\msys64\usr\bin"
|
||||
$env:MINGWBIN="C:\msys64\mingw32\bin"
|
||||
$env:MBITS="32"
|
||||
$env:MARCH="i686"
|
||||
} else {
|
||||
$env:PCRE_PLATFORM="x64"
|
||||
$env:JAVA_HOME="C:/Program Files/Java/jdk1.8.0"
|
||||
$env:VCVARS_PLATFORM="amd64"
|
||||
$env:LANG_PLATFORM="-x64"
|
||||
$env:CYGWINBIN="C:\cygwin64\bin"
|
||||
$env:CYGWINSETUP="C:/cygwin64/setup-x86_64.exe"
|
||||
$env:MSYSBIN="C:\msys64\usr\bin"
|
||||
$env:MINGWBIN="C:\msys64\mingw64\bin"
|
||||
$env:MBITS="64"
|
||||
$env:MARCH="x86_64"
|
||||
}
|
||||
- ps: $env:VSCOMNTOOLS=(Get-Content ("env:VS" + "$env:VSVER" + "0COMNTOOLS"))
|
||||
- echo "Using Visual Studio %VSVER%.0 at %VSCOMNTOOLS%"
|
||||
- call "%VSCOMNTOOLS%\..\..\VC\vcvarsall.bat" %VCVARS_PLATFORM%
|
||||
- Tools\nuget-install.cmd pcre -Verbosity detailed -Version 8.33.0.1 -OutputDirectory C:\pcre
|
||||
- set PCRE_ROOT=C:/pcre/pcre.8.33.0.1/build/native
|
||||
- set PATH=C:\Python%VER%%LANG_PLATFORM%;%PATH%
|
||||
- python -V
|
||||
- ps: >-
|
||||
if (!$env:OSVARIANT) {
|
||||
$env:PATH="$env:CYGWINBIN;$env:PATH"
|
||||
$env:CYGWIN="nodosfilewarning"
|
||||
$env:VSCOMNTOOLS=(Get-Content ("env:VS" + "$env:VSVER" + "0COMNTOOLS"))
|
||||
$env:CC="cccl"
|
||||
$env:CXX="cccl"
|
||||
} elseif ($env:OSVARIANT -eq "cygwin") {
|
||||
$env:PATH="$env:CYGWINBIN;$env:PATH"
|
||||
$env:CYGWIN="nodosfilewarning"
|
||||
$env:CC="gcc"
|
||||
$env:CXX="g++"
|
||||
} elseif ($env:OSVARIANT -eq "mingw") {
|
||||
$env:PATH="$env:MSYSBIN;$env:MINGWBIN;$env:PATH"
|
||||
$env:MSYSTEM="MINGW$env:MBITS"
|
||||
$env:CC="$env:MARCH-w64-mingw32-gcc"
|
||||
$env:CXX="$env:MARCH-w64-mingw32-g++"
|
||||
}
|
||||
- if "%OSVARIANT%"=="" bash -c "cd /usr/bin && curl --retry 15 -s -L https://github.com/swig/cccl/archive/cccl-1.0.tar.gz | tar -xz --strip 1 cccl-cccl-1.0/cccl"
|
||||
- if "%OSVARIANT%"=="" echo Using Visual Studio %VSVER%.0 at %VSCOMNTOOLS%
|
||||
- if "%OSVARIANT%"=="" call "%VSCOMNTOOLS%\..\..\VC\vcvarsall.bat" %VCVARS_PLATFORM%
|
||||
- if "%OSVARIANT%"=="" Tools\nuget-install.cmd pcre -Verbosity quiet -Version 8.33.0.1 -OutputDirectory C:\pcre
|
||||
- if "%OSVARIANT%"=="" set PCRE_ROOT=C:/pcre/pcre.8.33.0.1/build/native
|
||||
- if "%OSVARIANT%"=="" set PATH=C:\Python%VER%%LANG_PLATFORM%;%PATH%
|
||||
- if "%OSVARIANT%"=="" bash -c "which cl.exe"
|
||||
- if "%OSVARIANT%"=="" bash -c "cl.exe /? 2>&1 | head -n 1"
|
||||
- if "%OSVARIANT%"=="" bash -c "which csc.exe"
|
||||
- if "%OSVARIANT%"=="" bash -c "csc.exe /? | head -n 1"
|
||||
- if "%OSVARIANT%"=="cygwin" %CYGWINSETUP% --quiet-mode --packages libpcre-devel,libboost-devel > cygwin-install.txt || bash -c "cat cygwin-install.txt"
|
||||
- if "%OSVARIANT%"=="mingw" bash -c "pacman --noconfirm --sync mingw%MBITS%/mingw-w64-%MARCH%-pcre mingw%MBITS%/mingw-w64-%MARCH%-boost"
|
||||
- bash -c "which $CC"
|
||||
- bash -c "which $CXX"
|
||||
- bash -c "$CC --version | head -n 1"
|
||||
- bash -c "$CXX --version | head -n 1"
|
||||
- bash -c "which python"
|
||||
- bash -c "python -V"
|
||||
- bash -c "which cl.exe"
|
||||
- bash -c "cl.exe /? 2>&1 | head -n 2"
|
||||
- bash -c "which csc.exe"
|
||||
- bash -c "csc.exe /? | head -n 2"
|
||||
- bash -c "which cccl"
|
||||
- bash -c "cccl --version"
|
||||
- make --version
|
||||
- bash -c "make --version | head -n 2"
|
||||
- pwd
|
||||
- echo MAKEJOBS=%MAKEJOBS%
|
||||
- uname -a
|
||||
|
||||
build_script:
|
||||
- set CCCL_OPTIONS=--cccl-muffle /W3
|
||||
- set CHECK_OPTIONS=CSHARPOPTIONS=-platform:%Platform%
|
||||
# Open dummy file descriptor to fix error on cygwin: ./configure: line 560: 0: Bad file descriptor
|
||||
- bash -c "exec 0</dev/null && ./autogen.sh && time ./configure --disable-dependency-tracking --disable-ccache CC=cccl CXX=cccl CFLAGS='-O2' CXXFLAGS='-O2' LDFLAGS='--cccl-link /LTCG' PCRE_CFLAGS='-I%PCRE_ROOT%/include -DPCRE_STATIC' PCRE_LIBS='-L%PCRE_ROOT%/lib/v110/%PCRE_PLATFORM%/Release/static/utf8 -lpcre8' --without-perl5 --without-go --with-boost=C:/Libraries/boost || cat config.log"
|
||||
- bash -c "time make -s"
|
||||
- if "%OSVARIANT%"=="" bash -c "exec 0</dev/null && ./autogen.sh && time ./configure --disable-dependency-tracking --disable-ccache CC=$CC CXX=$CXX CFLAGS='-O2' CXXFLAGS='-O2' LDFLAGS='--cccl-link /LTCG' PCRE_CFLAGS='-I%PCRE_ROOT%/include -DPCRE_STATIC' PCRE_LIBS='-L%PCRE_ROOT%/lib/v110/%PCRE_PLATFORM%/Release/static/utf8 -lpcre8' --without-perl5 --without-go --with-boost=C:/Libraries/boost || cat config.log"
|
||||
- if not "%OSVARIANT%"=="" bash -c "exec 0</dev/null && ./autogen.sh && time ./configure CC=%CC% CXX=%CXX% --without-alllang --with-$SWIGLANG --enable-cpp11-testing || cat config.log"
|
||||
- bash -c "time make -s -j%MAKEJOBS%"
|
||||
|
||||
test_script:
|
||||
- set CCCL_OPTIONS=--cccl-muffle /W3 /EHsc
|
||||
# (Warning below is fixed in newer versions of Python (2.7.9)) '_hypot' : recursive on all control paths, function will cause runtime stack overflow
|
||||
- ps: >-
|
||||
If ("$env:SWIGLANG$env:VER" -Match "python27") {
|
||||
$env:CCCL_OPTIONS="$env:CCCL_OPTIONS /wd4717"
|
||||
}
|
||||
- .\swig.exe -version
|
||||
- if not "%OSVARIANT%"=="" CCache\ccache-swig -V
|
||||
- bash -c "file ./swig.exe"
|
||||
- bash -c "time make -k check-%SWIGLANG%-version"
|
||||
- bash -c "make check-%SWIGLANG%-version"
|
||||
- bash -c "time make -k check-%SWIGLANG%-examples %CHECK_OPTIONS%"
|
||||
- bash -c "time make -k check-%SWIGLANG%-test-suite %CHECK_OPTIONS%"
|
||||
- bash -c "time make -k check-%SWIGLANG%-test-suite -j%MAKEJOBS% %CHECK_OPTIONS%"
|
||||
|
||||
# Do not build on tags (GitHub only)
|
||||
skip_tags: true
|
||||
|
||||
#on_finish: # Display RDP connection information
|
||||
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue