blob: c58ef91a1f233e5829f5a0f572cf71334c97cc4c [file] [log] [blame]
Yann Collet0b395312020-12-16 23:00:35 -08001# Following tests are run _only_ on `release` branch
2# and on selected feature branch named `appveyorTest` or `visual*`
Yann Collet03ef7b72019-10-18 14:52:16 -07003
Sean Purcell5a2b8572017-03-14 15:59:57 -07004-
5 version: 1.0.{build}
6 branches:
7 only:
Yann Collet0b395312020-12-16 23:00:35 -08008 - release
Sean Purcell5a2b8572017-03-14 15:59:57 -07009 - master
Yann Collet0b395312020-12-16 23:00:35 -080010 - /appveyor*/
Yann Colletecd4df42018-12-25 14:55:45 -080011 - /visual*/
Sean Purcell5a2b8572017-03-14 15:59:57 -070012 environment:
13 matrix:
14 - COMPILER: "gcc"
15 HOST: "mingw"
16 PLATFORM: "x64"
Yann Colletce34dc32020-12-16 23:53:13 -080017 SCRIPT: "make allzstd MOREFLAGS=-static"
Sean Purcell5a2b8572017-03-14 15:59:57 -070018 ARTIFACT: "true"
Sean Purcell8d2c6392017-03-24 11:45:02 -070019 BUILD: "true"
Sean Purcell5a2b8572017-03-14 15:59:57 -070020 - COMPILER: "gcc"
21 HOST: "mingw"
22 PLATFORM: "x86"
Yann Colletc7818fc2017-08-31 17:00:16 -070023 SCRIPT: "make allzstd MOREFLAGS=-static"
Sean Purcell5a2b8572017-03-14 15:59:57 -070024 ARTIFACT: "true"
Sean Purcell8d2c6392017-03-24 11:45:02 -070025 BUILD: "true"
Sean Purcell5a2b8572017-03-14 15:59:57 -070026
Nick Hutchinson0dabbd42021-05-02 13:29:13 +010027 - COMPILER: "clang-cl"
28 HOST: "cmake-visual"
29 PLATFORM: "x64"
30 CONFIGURATION: "Release"
31 CMAKE_GENERATOR: "Visual Studio 15 2017"
32 CMAKE_GENERATOR_PLATFORM: "x64"
33 CMAKE_GENERATOR_TOOLSET: "LLVM"
34 APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
35
Sean Purcell5a2b8572017-03-14 15:59:57 -070036 install:
inikep96abb5a2016-05-19 15:50:58 +020037 - ECHO Installing %COMPILER% %PLATFORM% %CONFIGURATION%
Sean Purcell5a2b8572017-03-14 15:59:57 -070038 - SET PATH_ORIGINAL=%PATH%
39 - if [%HOST%]==[mingw] (
Sean Purcellfcc55cc2017-03-29 13:08:10 -070040 SET "PATH_MINGW32=C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin" &&
41 SET "PATH_MINGW64=C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin" &&
42 COPY C:\msys64\usr\bin\make.exe C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin\make.exe &&
43 COPY C:\msys64\usr\bin\make.exe C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin\make.exe
Sean Purcell5a2b8572017-03-14 15:59:57 -070044 )
45 - IF [%HOST%]==[visual] IF [%PLATFORM%]==[x64] (
46 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;"
inikep5e334be2016-05-18 09:07:28 +020047 )
inikep7c4d0412016-05-16 14:48:04 +020048
Sean Purcell5a2b8572017-03-14 15:59:57 -070049 build_script:
50 - if [%HOST%]==[mingw] (
51 ( if [%PLATFORM%]==[x64] (
52 SET "PATH=%PATH_MINGW64%;%PATH_ORIGINAL%"
53 ) else if [%PLATFORM%]==[x86] (
54 SET "PATH=%PATH_MINGW32%;%PATH_ORIGINAL%"
Sean Purcell8d2c6392017-03-24 11:45:02 -070055 ) )
56 )
57 - if [%HOST%]==[mingw] if [%BUILD%]==[true] (
inikep0a0403d2016-07-19 12:23:32 +020058 make -v &&
Sean Purcell5a2b8572017-03-14 15:59:57 -070059 sh -c "%COMPILER% -v" &&
Sean Purcell8d2c6392017-03-24 11:45:02 -070060 ECHO Building zlib to static link &&
61 SET "CC=%COMPILER%" &&
62 sh -c "cd .. && git clone --depth 1 --branch v1.2.11 https://github.com/madler/zlib" &&
63 sh -c "cd ../zlib && make -f win32/Makefile.gcc libz.a"
64 ECHO Building zstd &&
65 SET "CPPFLAGS=-I../../zlib" &&
66 SET "LDFLAGS=../../zlib/libz.a" &&
67 sh -c "%SCRIPT%" &&
Sean Purcellfcc55cc2017-03-29 13:08:10 -070068 ( if [%COMPILER%]==[gcc] if [%ARTIFACT%]==[true]
Yann Collet92960812018-03-23 15:00:04 -070069 ECHO Creating artifacts &&
Yann Colleta75104d2018-03-23 16:27:28 -070070 ECHO %cd% &&
Sean Purcellfcc55cc2017-03-29 13:08:10 -070071 lib\dll\example\build_package.bat &&
Sean Purcelle128ac02017-04-06 10:15:32 -070072 make -C programs DEBUGFLAGS= clean zstd &&
Yann Collet36153af2017-05-04 17:40:40 -070073 cd programs\ && 7z a -tzip -mx9 zstd-win-binary-%PLATFORM%.zip zstd.exe &&
Yann Collet9203dab2017-05-04 17:30:37 -070074 appveyor PushArtifact zstd-win-binary-%PLATFORM%.zip &&
Yann Collet36153af2017-05-04 17:40:40 -070075 cp zstd.exe ..\bin\zstd.exe &&
Yann Collet0b395312020-12-16 23:00:35 -080076 git clone --depth 1 --branch release https://github.com/facebook/zstd &&
Yann Colletfa294b82018-03-23 17:20:05 -070077 cd zstd &&
Yann Collet0b395312020-12-16 23:00:35 -080078 git archive --format=tar release -o zstd-src.tar &&
Yann Colletfa294b82018-03-23 17:20:05 -070079 ..\zstd -19 zstd-src.tar &&
80 appveyor PushArtifact zstd-src.tar.zst &&
Yann Collet4d753b02018-03-24 09:55:13 -070081 certUtil -hashfile zstd-src.tar.zst SHA256 > zstd-src.tar.zst.sha256.sig &&
82 appveyor PushArtifact zstd-src.tar.zst.sha256.sig &&
Yann Colletfa294b82018-03-23 17:20:05 -070083 cd ..\..\bin\ &&
84 7z a -tzip -mx9 zstd-win-release-%PLATFORM%.zip * &&
Sean Purcellfcc55cc2017-03-29 13:08:10 -070085 appveyor PushArtifact zstd-win-release-%PLATFORM%.zip
86 )
inikepf3302152016-05-18 16:38:36 +020087 )
Nick Hutchinson0dabbd42021-05-02 13:29:13 +010088 - if [%HOST%]==[cmake-visual] (
89 ECHO *** &&
90 ECHO *** Building %CMAKE_GENERATOR% ^(%CMAKE_GENERATOR_TOOLSET%^) %PLATFORM%\%CONFIGURATION% &&
91 PUSHD build\cmake &&
92 cmake -DBUILD_TESTING=ON . &&
93 cmake --build . --config %CONFIGURATION% -j4 &&
94 POPD &&
95 ECHO ***
96 )
inikep7c4d0412016-05-16 14:48:04 +020097
Sean Purcell5a2b8572017-03-14 15:59:57 -070098 test_script:
inikep96abb5a2016-05-19 15:50:58 +020099 - ECHO Testing %COMPILER% %PLATFORM% %CONFIGURATION%
Sean Purcelldd79c5c2017-03-29 14:40:11 -0700100 - SET "CC=gcc"
101 - SET "CXX=g++"
Sean Purcell5a2b8572017-03-14 15:59:57 -0700102 - if [%TEST%]==[cmake] (
Przemyslaw Skibinskicb8d2d92017-02-10 12:01:14 +0100103 mkdir build\cmake\build &&
104 cd build\cmake\build &&
Nick Terrellbc3cda92020-12-10 13:33:34 -0800105 SET FUZZERTEST=-T2mn &&
106 SET ZSTREAM_TESTTIME=-T2mn &&
Przemyslaw Skibinskicb8d2d92017-02-10 12:01:14 +0100107 cmake -G "Visual Studio 14 2015 Win64" .. &&
108 cd ..\..\.. &&
Sean Purcell5a2b8572017-03-14 15:59:57 -0700109 make clean
110 )
inikepe9ae30a2016-09-12 14:17:26 +0200111
Yann Collet03ef7b72019-10-18 14:52:16 -0700112
113# The following tests are for regular pushes
114# into `dev` or some feature branch
115# There run less tests, for shorter feedback loop
116
Sean Purcell5a2b8572017-03-14 15:59:57 -0700117-
118 version: 1.0.{build}
Sean Purcell5a2b8572017-03-14 15:59:57 -0700119 environment:
120 matrix:
senhuang4220660a02021-11-03 16:48:34 +0300121 - COMPILER: "visual"
122 HOST: "visual"
123 PLATFORM: "x64"
124 CONFIGURATION: "Debug"
125 - COMPILER: "visual"
126 HOST: "visual"
127 PLATFORM: "Win32"
128 CONFIGURATION: "Debug"
129 - COMPILER: "visual"
130 HOST: "visual"
131 PLATFORM: "x64"
132 CONFIGURATION: "Release"
133 - COMPILER: "visual"
134 HOST: "visual"
135 PLATFORM: "Win32"
136 CONFIGURATION: "Release"
137
Sean Purcell5a2b8572017-03-14 15:59:57 -0700138 - COMPILER: "gcc"
Christoph Reiter9a5d8a62020-01-11 10:41:56 +0100139 HOST: "cygwin"
140 PLATFORM: "x64"
Sean Purcelldaec40d2017-03-07 12:08:15 -0800141
Nick Hutchinson0dabbd42021-05-02 13:29:13 +0100142 - COMPILER: "clang-cl"
143 HOST: "cmake-visual"
144 PLATFORM: "x64"
145 CONFIGURATION: "Release"
146 CMAKE_GENERATOR: "Visual Studio 15 2017"
147 CMAKE_GENERATOR_PLATFORM: "x64"
148 CMAKE_GENERATOR_TOOLSET: "LLVM"
149 APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
150
Sean Purcell5a2b8572017-03-14 15:59:57 -0700151 install:
152 - ECHO Installing %COMPILER% %PLATFORM% %CONFIGURATION%
153 - SET PATH_ORIGINAL=%PATH%
Christoph Reiter9a5d8a62020-01-11 10:41:56 +0100154 - if [%HOST%]==[cygwin] (
155 ECHO Installing Cygwin Packages &&
156 C:\cygwin64\setup-x86_64.exe -qnNdO -R "C:\cygwin64" -g -P ^
Christoph Reiter9a5d8a62020-01-11 10:41:56 +0100157 gcc,^
158 cmake,^
159 make
160 )
senhuang4220660a02021-11-03 16:48:34 +0300161 - IF [%HOST%]==[visual] IF [%PLATFORM%]==[x64] (
162 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;"
163 )
Sean Purcell5a2b8572017-03-14 15:59:57 -0700164
165 build_script:
166 - ECHO Building %COMPILER% %PLATFORM% %CONFIGURATION%
Christoph Reiter9a5d8a62020-01-11 10:41:56 +0100167 - if [%HOST%]==[cygwin] (
168 set CHERE_INVOKING=yes &&
169 set CC=%COMPILER% &&
170 C:\cygwin64\bin\bash --login -c "
171 set -e;
172 cd build/cmake;
Yann Collet17b9e432021-05-06 21:53:30 -0700173 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 .;
Yann Colletbd547232021-05-06 16:07:44 -0700174 make VERBOSE=1 -j;
Taylor Braun-Jones5b054d92020-03-23 16:08:52 -0400175 ctest -V -L Medium;
Christoph Reiter9a5d8a62020-01-11 10:41:56 +0100176 "
177 )
Nick Hutchinson0dabbd42021-05-02 13:29:13 +0100178 - if [%HOST%]==[cmake-visual] (
179 ECHO *** &&
180 ECHO *** Building %CMAKE_GENERATOR% ^(%CMAKE_GENERATOR_TOOLSET%^) %PLATFORM%\%CONFIGURATION% &&
181 PUSHD build\cmake &&
182 cmake -DBUILD_TESTING=ON . &&
183 cmake --build . --config %CONFIGURATION% -j4 &&
184 POPD &&
185 ECHO ***
186 )
senhuang4220660a02021-11-03 16:48:34 +0300187 - if [%HOST%]==[visual] (
188 ECHO *** &&
189 ECHO *** Building Visual Studio 2012 %PLATFORM%\%CONFIGURATION% &&
190 ECHO *** &&
191 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" &&
192 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
senhuang4220660a02021-11-03 16:48:34 +0300193 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" &&
senhuang420907ab52021-11-29 13:09:56 -0500194 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe
senhuang4220660a02021-11-03 16:48:34 +0300195 )
Yann Collet03ef7b72019-10-18 14:52:16 -0700196
197
198 test_script:
199 - ECHO Testing %COMPILER% %PLATFORM% %CONFIGURATION%
senhuang4220660a02021-11-03 16:48:34 +0300200 - SET "FUZZERTEST=-T10s"
Yann Collet03ef7b72019-10-18 14:52:16 -0700201 - if [%HOST%]==[mingw] (
Yann Collet0e154fc2019-10-18 15:02:30 -0700202 set "CC=%COMPILER%" &&
Yann Colletde985b12020-10-16 14:31:40 -0700203 make clean &&
Bimba Shrestha4a9eca42019-10-29 09:45:28 -0700204 make check
binhdvob399b472021-11-02 13:17:55 -0400205 )