| # Following tests are run _only_ on `release` branch |
| # and on selected feature branch named `appveyorTest` or `visual*` |
| |
| - |
| version: 1.0.{build} |
| branches: |
| only: |
| - release |
| - master |
| - /appveyor*/ |
| - /visual*/ |
| environment: |
| matrix: |
| - COMPILER: "gcc" |
| HOST: "mingw" |
| PLATFORM: "x64" |
| SCRIPT: "make allzstd MOREFLAGS=-static" |
| ARTIFACT: "true" |
| BUILD: "true" |
| - COMPILER: "gcc" |
| HOST: "mingw" |
| PLATFORM: "x86" |
| SCRIPT: "make allzstd MOREFLAGS=-static" |
| ARTIFACT: "true" |
| BUILD: "true" |
| |
| - COMPILER: "clang-cl" |
| HOST: "cmake-visual" |
| PLATFORM: "x64" |
| CONFIGURATION: "Release" |
| CMAKE_GENERATOR: "Visual Studio 15 2017" |
| CMAKE_GENERATOR_PLATFORM: "x64" |
| CMAKE_GENERATOR_TOOLSET: "LLVM" |
| APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017" |
| |
| install: |
| - ECHO Installing %COMPILER% %PLATFORM% %CONFIGURATION% |
| - SET PATH_ORIGINAL=%PATH% |
| - if [%HOST%]==[mingw] ( |
| SET "PATH_MINGW32=C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin" && |
| SET "PATH_MINGW64=C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin" && |
| COPY C:\msys64\usr\bin\make.exe C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin\make.exe && |
| COPY C:\msys64\usr\bin\make.exe C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin\make.exe |
| ) |
| - IF [%HOST%]==[visual] IF [%PLATFORM%]==[x64] ( |
| SET ADDITIONALPARAM=/p:LibraryPath="C:\Program Files\Microsoft SDKs\Windows\v7.1\lib\x64;c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\amd64;C:\Program Files (x86)\Microsoft Visual Studio 10.0\;C:\Program Files (x86)\Microsoft Visual Studio 10.0\lib\amd64;" |
| ) |
| |
| build_script: |
| - if [%HOST%]==[mingw] ( |
| ( if [%PLATFORM%]==[x64] ( |
| SET "PATH=%PATH_MINGW64%;%PATH_ORIGINAL%" |
| ) else if [%PLATFORM%]==[x86] ( |
| SET "PATH=%PATH_MINGW32%;%PATH_ORIGINAL%" |
| ) ) |
| ) |
| - if [%HOST%]==[mingw] if [%BUILD%]==[true] ( |
| make -v && |
| sh -c "%COMPILER% -v" && |
| ECHO Building zlib to static link && |
| SET "CC=%COMPILER%" && |
| sh -c "cd .. && git clone --depth 1 --branch v1.2.11 https://github.com/madler/zlib" && |
| sh -c "cd ../zlib && make -f win32/Makefile.gcc libz.a" |
| ECHO Building zstd && |
| SET "CPPFLAGS=-I../../zlib" && |
| SET "LDFLAGS=../../zlib/libz.a" && |
| sh -c "%SCRIPT%" && |
| ( if [%COMPILER%]==[gcc] if [%ARTIFACT%]==[true] |
| ECHO Creating artifacts && |
| ECHO %cd% && |
| lib\dll\example\build_package.bat && |
| make -C programs DEBUGFLAGS= clean zstd && |
| cd programs\ && 7z a -tzip -mx9 zstd-win-binary-%PLATFORM%.zip zstd.exe && |
| appveyor PushArtifact zstd-win-binary-%PLATFORM%.zip && |
| cp zstd.exe ..\bin\zstd.exe && |
| git clone --depth 1 --branch release https://github.com/facebook/zstd && |
| cd zstd && |
| git archive --format=tar release -o zstd-src.tar && |
| ..\zstd -19 zstd-src.tar && |
| appveyor PushArtifact zstd-src.tar.zst && |
| certUtil -hashfile zstd-src.tar.zst SHA256 > zstd-src.tar.zst.sha256.sig && |
| appveyor PushArtifact zstd-src.tar.zst.sha256.sig && |
| cd ..\..\bin\ && |
| 7z a -tzip -mx9 zstd-win-release-%PLATFORM%.zip * && |
| appveyor PushArtifact zstd-win-release-%PLATFORM%.zip |
| ) |
| ) |
| - if [%HOST%]==[cmake-visual] ( |
| ECHO *** && |
| ECHO *** Building %CMAKE_GENERATOR% ^(%CMAKE_GENERATOR_TOOLSET%^) %PLATFORM%\%CONFIGURATION% && |
| PUSHD build\cmake && |
| cmake -DBUILD_TESTING=ON . && |
| cmake --build . --config %CONFIGURATION% -j4 && |
| POPD && |
| ECHO *** |
| ) |
| |
| test_script: |
| - ECHO Testing %COMPILER% %PLATFORM% %CONFIGURATION% |
| - SET "CC=gcc" |
| - SET "CXX=g++" |
| - if [%TEST%]==[cmake] ( |
| mkdir build\cmake\build && |
| cd build\cmake\build && |
| SET FUZZERTEST=-T2mn && |
| SET ZSTREAM_TESTTIME=-T2mn && |
| cmake -G "Visual Studio 14 2015 Win64" .. && |
| cd ..\..\.. && |
| make clean |
| ) |
| |
| |
| # The following tests are for regular pushes |
| # into `dev` or some feature branch |
| # There run less tests, for shorter feedback loop |
| |
| - |
| version: 1.0.{build} |
| environment: |
| matrix: |
| - COMPILER: "visual" |
| HOST: "visual" |
| PLATFORM: "x64" |
| CONFIGURATION: "Debug" |
| - COMPILER: "visual" |
| HOST: "visual" |
| PLATFORM: "Win32" |
| CONFIGURATION: "Debug" |
| - COMPILER: "visual" |
| HOST: "visual" |
| PLATFORM: "x64" |
| CONFIGURATION: "Release" |
| - COMPILER: "visual" |
| HOST: "visual" |
| PLATFORM: "Win32" |
| CONFIGURATION: "Release" |
| |
| - COMPILER: "gcc" |
| HOST: "cygwin" |
| PLATFORM: "x64" |
| |
| - COMPILER: "clang-cl" |
| HOST: "cmake-visual" |
| PLATFORM: "x64" |
| CONFIGURATION: "Release" |
| CMAKE_GENERATOR: "Visual Studio 15 2017" |
| CMAKE_GENERATOR_PLATFORM: "x64" |
| CMAKE_GENERATOR_TOOLSET: "LLVM" |
| APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017" |
| |
| install: |
| - ECHO Installing %COMPILER% %PLATFORM% %CONFIGURATION% |
| - SET PATH_ORIGINAL=%PATH% |
| - if [%HOST%]==[cygwin] ( |
| ECHO Installing Cygwin Packages && |
| C:\cygwin64\setup-x86_64.exe -qnNdO -R "C:\cygwin64" -g -P ^ |
| gcc,^ |
| cmake,^ |
| make |
| ) |
| - IF [%HOST%]==[visual] IF [%PLATFORM%]==[x64] ( |
| SET ADDITIONALPARAM=/p:LibraryPath="C:\Program Files\Microsoft SDKs\Windows\v7.1\lib\x64;c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\amd64;C:\Program Files (x86)\Microsoft Visual Studio 10.0\;C:\Program Files (x86)\Microsoft Visual Studio 10.0\lib\amd64;" |
| ) |
| |
| build_script: |
| - ECHO Building %COMPILER% %PLATFORM% %CONFIGURATION% |
| - if [%HOST%]==[cygwin] ( |
| set CHERE_INVOKING=yes && |
| set CC=%COMPILER% && |
| C:\cygwin64\bin\bash --login -c " |
| set -e; |
| cd build/cmake; |
| CFLAGS='-Werror' cmake -G 'Unix Makefiles' -DCMAKE_BUILD_TYPE=Debug -DZSTD_BUILD_TESTS:BOOL=ON -DZSTD_FUZZER_FLAGS=-T20s -DZSTD_ZSTREAM_FLAGS=-T20s -DZSTD_FULLBENCH_FLAGS=-i0 .; |
| make VERBOSE=1 -j; |
| ctest -V -L Medium; |
| " |
| ) |
| - if [%HOST%]==[cmake-visual] ( |
| ECHO *** && |
| ECHO *** Building %CMAKE_GENERATOR% ^(%CMAKE_GENERATOR_TOOLSET%^) %PLATFORM%\%CONFIGURATION% && |
| PUSHD build\cmake && |
| cmake -DBUILD_TESTING=ON . && |
| cmake --build . --config %CONFIGURATION% -j4 && |
| POPD && |
| ECHO *** |
| ) |
| - if [%HOST%]==[visual] ( |
| ECHO *** && |
| ECHO *** Building Visual Studio 2012 %PLATFORM%\%CONFIGURATION% && |
| ECHO *** && |
| msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v110 /p:ForceImportBeforeCppTargets=%APPVEYOR_BUILD_FOLDER%\build\VS2010\CompileAsCpp.props /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" && |
| DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe && |
| msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v110 /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" && |
| DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe |
| ) |
| |
| |
| test_script: |
| - ECHO Testing %COMPILER% %PLATFORM% %CONFIGURATION% |
| - SET "FUZZERTEST=-T10s" |
| - if [%HOST%]==[mingw] ( |
| set "CC=%COMPILER%" && |
| make clean && |
| make check |
| ) |