blob: 1f8b8cf8add125ab58cde6cc8e73e528f45c5763 [file] [log] [blame]
Sean Purcell5a2b8572017-03-14 15:59:57 -07001-
2 version: 1.0.{build}
3 branches:
4 only:
5 - dev
6 - master
7 environment:
8 matrix:
9 - COMPILER: "gcc"
10 HOST: "mingw"
11 PLATFORM: "x64"
12 SCRIPT: "make allarch && make -C tests test-symbols fullbench-dll fullbench-lib"
13 ARTIFACT: "true"
Sean Purcell8d2c6392017-03-24 11:45:02 -070014 BUILD: "true"
Sean Purcell5a2b8572017-03-14 15:59:57 -070015 - COMPILER: "gcc"
16 HOST: "mingw"
17 PLATFORM: "x86"
Sean Purcell5a61f362017-04-14 11:33:04 -070018 SCRIPT: "make allarch"
Sean Purcell5a2b8572017-03-14 15:59:57 -070019 ARTIFACT: "true"
Sean Purcell8d2c6392017-03-24 11:45:02 -070020 BUILD: "true"
Sean Purcell5a2b8572017-03-14 15:59:57 -070021 - COMPILER: "clang"
22 HOST: "mingw"
23 PLATFORM: "x64"
24 SCRIPT: "MOREFLAGS='--target=x86_64-w64-mingw32 -Werror -Wconversion -Wno-sign-conversion' make allarch"
Sean Purcell8d2c6392017-03-24 11:45:02 -070025 BUILD: "true"
inikep5e334be2016-05-18 09:07:28 +020026
Sean Purcell5a2b8572017-03-14 15:59:57 -070027 - COMPILER: "gcc"
28 HOST: "mingw"
29 PLATFORM: "x64"
30 SCRIPT: ""
31 TEST: "cmake"
32
33 - COMPILER: "gcc"
34 HOST: "mingw"
35 PLATFORM: "x64"
36 SCRIPT: ""
37 TEST: "pzstd"
38
39 - COMPILER: "visual"
40 HOST: "visual"
41 PLATFORM: "x64"
42 CONFIGURATION: "Debug"
43 - COMPILER: "visual"
44 HOST: "visual"
45 PLATFORM: "Win32"
46 CONFIGURATION: "Debug"
47 - COMPILER: "visual"
48 HOST: "visual"
49 PLATFORM: "x64"
50 CONFIGURATION: "Release"
51 - COMPILER: "visual"
52 HOST: "visual"
53 PLATFORM: "Win32"
54 CONFIGURATION: "Release"
55
56 install:
inikep96abb5a2016-05-19 15:50:58 +020057 - ECHO Installing %COMPILER% %PLATFORM% %CONFIGURATION%
Sean Purcell5a2b8572017-03-14 15:59:57 -070058 - SET PATH_ORIGINAL=%PATH%
59 - if [%HOST%]==[mingw] (
Sean Purcellfcc55cc2017-03-29 13:08:10 -070060 SET "PATH_MINGW32=C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin" &&
61 SET "PATH_MINGW64=C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin" &&
62 COPY C:\msys64\usr\bin\make.exe C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin\make.exe &&
63 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 -070064 )
65 - IF [%HOST%]==[visual] IF [%PLATFORM%]==[x64] (
66 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 +020067 )
inikep7c4d0412016-05-16 14:48:04 +020068
Sean Purcell5a2b8572017-03-14 15:59:57 -070069 build_script:
70 - if [%HOST%]==[mingw] (
71 ( if [%PLATFORM%]==[x64] (
72 SET "PATH=%PATH_MINGW64%;%PATH_ORIGINAL%"
73 ) else if [%PLATFORM%]==[x86] (
74 SET "PATH=%PATH_MINGW32%;%PATH_ORIGINAL%"
Sean Purcell8d2c6392017-03-24 11:45:02 -070075 ) )
76 )
77 - if [%HOST%]==[mingw] if [%BUILD%]==[true] (
inikep0a0403d2016-07-19 12:23:32 +020078 make -v &&
Sean Purcell5a2b8572017-03-14 15:59:57 -070079 sh -c "%COMPILER% -v" &&
Sean Purcell8d2c6392017-03-24 11:45:02 -070080 ECHO Building zlib to static link &&
81 SET "CC=%COMPILER%" &&
82 sh -c "cd .. && git clone --depth 1 --branch v1.2.11 https://github.com/madler/zlib" &&
83 sh -c "cd ../zlib && make -f win32/Makefile.gcc libz.a"
84 ECHO Building zstd &&
85 SET "CPPFLAGS=-I../../zlib" &&
86 SET "LDFLAGS=../../zlib/libz.a" &&
87 sh -c "%SCRIPT%" &&
Sean Purcellfcc55cc2017-03-29 13:08:10 -070088 ( if [%COMPILER%]==[gcc] if [%ARTIFACT%]==[true]
89 lib\dll\example\build_package.bat &&
Sean Purcelle128ac02017-04-06 10:15:32 -070090 make -C programs DEBUGFLAGS= clean zstd &&
Yann Collet36153af2017-05-04 17:40:40 -070091 cd programs\ && 7z a -tzip -mx9 zstd-win-binary-%PLATFORM%.zip zstd.exe &&
Yann Collet9203dab2017-05-04 17:30:37 -070092 appveyor PushArtifact zstd-win-binary-%PLATFORM%.zip &&
Yann Collet36153af2017-05-04 17:40:40 -070093 cp zstd.exe ..\bin\zstd.exe &&
94 cd ..\bin\ && 7z a -tzip -mx9 zstd-win-release-%PLATFORM%.zip * &&
Sean Purcellfcc55cc2017-03-29 13:08:10 -070095 appveyor PushArtifact zstd-win-release-%PLATFORM%.zip
96 )
inikepf3302152016-05-18 16:38:36 +020097 )
Sean Purcell5a2b8572017-03-14 15:59:57 -070098 - if [%HOST%]==[visual] (
inikep5e334be2016-05-18 09:07:28 +020099 ECHO *** &&
inikep70ce21f2016-08-10 14:17:28 +0200100 ECHO *** Building Visual Studio 2008 %PLATFORM%\%CONFIGURATION% in %APPVEYOR_BUILD_FOLDER% &&
inikep5e334be2016-05-18 09:07:28 +0200101 ECHO *** &&
Yann Collet4c9a4c12016-09-19 14:58:14 +0200102 msbuild "build\VS2008\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v90 /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
103 DIR build\VS2008\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
104 MD5sum build/VS2008/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
105 COPY build\VS2008\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2008_%PLATFORM%_%CONFIGURATION%.exe &&
inikep5e334be2016-05-18 09:07:28 +0200106 ECHO *** &&
107 ECHO *** Building Visual Studio 2010 %PLATFORM%\%CONFIGURATION% &&
108 ECHO *** &&
Yann Collet4c9a4c12016-09-19 14:58:14 +0200109 msbuild "build\VS2010\zstd.sln" %ADDITIONALPARAM% /m /verbosity:minimal /property:PlatformToolset=v100 /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" &&
Przemyslaw Skibinskicba727c2016-11-14 15:59:57 +0100110 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
111 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
Yann Collet4c9a4c12016-09-19 14:58:14 +0200112 msbuild "build\VS2010\zstd.sln" %ADDITIONALPARAM% /m /verbosity:minimal /property:PlatformToolset=v100 /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
Przemyslaw Skibinskicba727c2016-11-14 15:59:57 +0100113 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
114 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
115 COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2010_%PLATFORM%_%CONFIGURATION%.exe &&
inikep5e334be2016-05-18 09:07:28 +0200116 ECHO *** &&
117 ECHO *** Building Visual Studio 2012 %PLATFORM%\%CONFIGURATION% &&
118 ECHO *** &&
Yann Collet4c9a4c12016-09-19 14:58:14 +0200119 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" &&
Przemyslaw Skibinskicba727c2016-11-14 15:59:57 +0100120 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
121 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
Yann Collet4c9a4c12016-09-19 14:58:14 +0200122 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" &&
Przemyslaw Skibinskicba727c2016-11-14 15:59:57 +0100123 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
124 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
125 COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2012_%PLATFORM%_%CONFIGURATION%.exe &&
inikep5e334be2016-05-18 09:07:28 +0200126 ECHO *** &&
127 ECHO *** Building Visual Studio 2013 %PLATFORM%\%CONFIGURATION% &&
128 ECHO *** &&
Yann Collet4c9a4c12016-09-19 14:58:14 +0200129 msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v120 /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" &&
Przemyslaw Skibinskicba727c2016-11-14 15:59:57 +0100130 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
131 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
Yann Collet4c9a4c12016-09-19 14:58:14 +0200132 msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v120 /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
Przemyslaw Skibinskicba727c2016-11-14 15:59:57 +0100133 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
134 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
135 COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2013_%PLATFORM%_%CONFIGURATION%.exe &&
inikep5e334be2016-05-18 09:07:28 +0200136 ECHO *** &&
137 ECHO *** Building Visual Studio 2015 %PLATFORM%\%CONFIGURATION% &&
138 ECHO *** &&
Yann Collet4c9a4c12016-09-19 14:58:14 +0200139 msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v140 /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" &&
Przemyslaw Skibinskicba727c2016-11-14 15:59:57 +0100140 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
141 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
Yann Collet4c9a4c12016-09-19 14:58:14 +0200142 msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v140 /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
Przemyslaw Skibinskicba727c2016-11-14 15:59:57 +0100143 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
144 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
145 COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2015_%PLATFORM%_%CONFIGURATION%.exe &&
146 COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe tests\
inikep5e334be2016-05-18 09:07:28 +0200147 )
inikep7c4d0412016-05-16 14:48:04 +0200148
Sean Purcell5a2b8572017-03-14 15:59:57 -0700149 test_script:
inikep96abb5a2016-05-19 15:50:58 +0200150 - ECHO Testing %COMPILER% %PLATFORM% %CONFIGURATION%
Sean Purcelldd79c5c2017-03-29 14:40:11 -0700151 - SET "CC=gcc"
152 - SET "CXX=g++"
Sean Purcell5a2b8572017-03-14 15:59:57 -0700153 - if [%TEST%]==[cmake] (
Przemyslaw Skibinskicb8d2d92017-02-10 12:01:14 +0100154 mkdir build\cmake\build &&
155 cd build\cmake\build &&
156 cmake -G "Visual Studio 14 2015 Win64" .. &&
157 cd ..\..\.. &&
Sean Purcell5a2b8572017-03-14 15:59:57 -0700158 make clean
159 )
160 - if [%TEST%]==[pzstd] (
Przemyslaw Skibinskicb8d2d92017-02-10 12:01:14 +0100161 make -C contrib\pzstd googletest-mingw64 &&
162 make -C contrib\pzstd pzstd.exe &&
163 make -C contrib\pzstd tests &&
164 make -C contrib\pzstd check &&
165 make -C contrib\pzstd clean
inikep5e334be2016-05-18 09:07:28 +0200166 )
Yann Colletc6915422017-04-27 16:24:53 -0700167 - SET "FUZZERTEST=-T30s"
Sean Purcell5a2b8572017-03-14 15:59:57 -0700168 - if [%HOST%]==[visual] if [%CONFIGURATION%]==[Release] (
inikep7feafdd2016-08-18 15:17:18 +0200169 CD tests &&
inikep1dcb2ff2016-05-30 11:33:52 +0200170 SET ZSTD=./zstd.exe &&
inikep1dcb2ff2016-05-30 11:33:52 +0200171 sh -e playTests.sh --test-large-data &&
inikepd57b4182016-05-31 11:46:16 +0200172 fullbench.exe -i1 &&
173 fullbench.exe -i1 -P0 &&
inikep7feafdd2016-08-18 15:17:18 +0200174 fuzzer_VS2008_%PLATFORM%_Release.exe %FUZZERTEST% &&
175 fuzzer_VS2010_%PLATFORM%_Release.exe %FUZZERTEST% &&
176 fuzzer_VS2012_%PLATFORM%_Release.exe %FUZZERTEST% &&
177 fuzzer_VS2013_%PLATFORM%_Release.exe %FUZZERTEST% &&
178 fuzzer_VS2015_%PLATFORM%_Release.exe %FUZZERTEST%
inikep5e334be2016-05-18 09:07:28 +0200179 )
inikepe9ae30a2016-09-12 14:17:26 +0200180
Sean Purcell5a2b8572017-03-14 15:59:57 -0700181-
182 version: 1.0.{build}
Sean Purcell5a2b8572017-03-14 15:59:57 -0700183 environment:
184 matrix:
185 - COMPILER: "gcc"
186 HOST: "mingw"
187 PLATFORM: "x64"
188 SCRIPT: "make allarch"
189 - COMPILER: "gcc"
190 HOST: "mingw"
191 PLATFORM: "x86"
Sean Purcell5a61f362017-04-14 11:33:04 -0700192 SCRIPT: "make allarch"
Sean Purcell5a2b8572017-03-14 15:59:57 -0700193 - COMPILER: "clang"
194 HOST: "mingw"
195 PLATFORM: "x64"
196 SCRIPT: "MOREFLAGS='--target=x86_64-w64-mingw32 -Werror -Wconversion -Wno-sign-conversion' make allarch"
Sean Purcelldaec40d2017-03-07 12:08:15 -0800197
Sean Purcell5a2b8572017-03-14 15:59:57 -0700198 - COMPILER: "visual"
199 HOST: "visual"
200 PLATFORM: "x64"
201 CONFIGURATION: "Debug"
202 - COMPILER: "visual"
203 HOST: "visual"
204 PLATFORM: "Win32"
205 CONFIGURATION: "Debug"
206 - COMPILER: "visual"
207 HOST: "visual"
208 PLATFORM: "x64"
209 CONFIGURATION: "Release"
210 - COMPILER: "visual"
211 HOST: "visual"
212 PLATFORM: "Win32"
213 CONFIGURATION: "Release"
inikepe9ae30a2016-09-12 14:17:26 +0200214
Sean Purcell5a2b8572017-03-14 15:59:57 -0700215 install:
216 - ECHO Installing %COMPILER% %PLATFORM% %CONFIGURATION%
217 - SET PATH_ORIGINAL=%PATH%
218 - if [%HOST%]==[mingw] (
Sean Purcellad8da882017-04-13 14:40:06 -0700219 SET "PATH_MINGW32=C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin" &&
220 SET "PATH_MINGW64=C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin" &&
221 COPY C:\msys64\usr\bin\make.exe C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin\make.exe &&
222 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 -0700223 )
224 - IF [%HOST%]==[visual] IF [%PLATFORM%]==[x64] (
225 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;"
226 )
227
228 build_script:
229 - ECHO Building %COMPILER% %PLATFORM% %CONFIGURATION%
230 - if [%HOST%]==[mingw] (
231 ( if [%PLATFORM%]==[x64] (
232 SET "PATH=%PATH_MINGW64%;%PATH_ORIGINAL%"
233 ) else if [%PLATFORM%]==[x86] (
234 SET "PATH=%PATH_MINGW32%;%PATH_ORIGINAL%"
235 ) ) &&
236 make -v &&
237 sh -c "%COMPILER% -v" &&
Sean Purcell5a61f362017-04-14 11:33:04 -0700238 set "CC=%COMPILER%" &&
239 sh -c "%SCRIPT%"
Sean Purcell5a2b8572017-03-14 15:59:57 -0700240 )
241 - if [%HOST%]==[visual] (
242 ECHO *** &&
243 ECHO *** Building Visual Studio 2015 %PLATFORM%\%CONFIGURATION% &&
244 ECHO *** &&
245 msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v140 /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" &&
246 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
247 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
248 msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v140 /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
249 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
250 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
251 COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2015_%PLATFORM%_%CONFIGURATION%.exe &&
252 COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe tests\
253 )