blob: 19834777685ba416bd98613bf5d06ffe0b3ebff6 [file] [log] [blame]
Sean Purcell5a2b8572017-03-14 15:59:57 -07001-
2 version: 1.0.{build}
3 branches:
4 only:
5 - dev
6 - master
Yann Colletb1f898e2018-03-23 16:15:56 -07007 - srcPackage
Sean Purcell5a2b8572017-03-14 15:59:57 -07008 environment:
9 matrix:
10 - COMPILER: "gcc"
11 HOST: "mingw"
12 PLATFORM: "x64"
Yann Collet63aebdf2017-12-27 19:27:54 +010013 SCRIPT: "make allzstd MOREFLAGS=-static && make -C tests test-symbols fullbench-lib"
Sean Purcell5a2b8572017-03-14 15:59:57 -070014 ARTIFACT: "true"
Sean Purcell8d2c6392017-03-24 11:45:02 -070015 BUILD: "true"
Sean Purcell5a2b8572017-03-14 15:59:57 -070016 - COMPILER: "gcc"
17 HOST: "mingw"
18 PLATFORM: "x86"
Yann Colletc7818fc2017-08-31 17:00:16 -070019 SCRIPT: "make allzstd MOREFLAGS=-static"
Sean Purcell5a2b8572017-03-14 15:59:57 -070020 ARTIFACT: "true"
Sean Purcell8d2c6392017-03-24 11:45:02 -070021 BUILD: "true"
Sean Purcell5a2b8572017-03-14 15:59:57 -070022 - COMPILER: "clang"
23 HOST: "mingw"
24 PLATFORM: "x64"
Yann Collet8e298382017-08-31 14:30:52 -070025 SCRIPT: "MOREFLAGS='--target=x86_64-w64-mingw32 -Werror -Wconversion -Wno-sign-conversion' make allzstd"
Sean Purcell8d2c6392017-03-24 11:45:02 -070026 BUILD: "true"
inikep5e334be2016-05-18 09:07:28 +020027
Sean Purcell5a2b8572017-03-14 15:59:57 -070028 - COMPILER: "gcc"
29 HOST: "mingw"
30 PLATFORM: "x64"
31 SCRIPT: ""
32 TEST: "cmake"
33
Sean Purcell5a2b8572017-03-14 15:59:57 -070034 - COMPILER: "visual"
35 HOST: "visual"
36 PLATFORM: "x64"
37 CONFIGURATION: "Debug"
38 - COMPILER: "visual"
39 HOST: "visual"
40 PLATFORM: "Win32"
41 CONFIGURATION: "Debug"
42 - COMPILER: "visual"
43 HOST: "visual"
44 PLATFORM: "x64"
45 CONFIGURATION: "Release"
46 - COMPILER: "visual"
47 HOST: "visual"
48 PLATFORM: "Win32"
49 CONFIGURATION: "Release"
50
51 install:
inikep96abb5a2016-05-19 15:50:58 +020052 - ECHO Installing %COMPILER% %PLATFORM% %CONFIGURATION%
Sean Purcell5a2b8572017-03-14 15:59:57 -070053 - SET PATH_ORIGINAL=%PATH%
54 - if [%HOST%]==[mingw] (
Sean Purcellfcc55cc2017-03-29 13:08:10 -070055 SET "PATH_MINGW32=C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin" &&
56 SET "PATH_MINGW64=C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin" &&
57 COPY C:\msys64\usr\bin\make.exe C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin\make.exe &&
58 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 -070059 )
60 - IF [%HOST%]==[visual] IF [%PLATFORM%]==[x64] (
61 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 +020062 )
inikep7c4d0412016-05-16 14:48:04 +020063
Sean Purcell5a2b8572017-03-14 15:59:57 -070064 build_script:
65 - if [%HOST%]==[mingw] (
66 ( if [%PLATFORM%]==[x64] (
67 SET "PATH=%PATH_MINGW64%;%PATH_ORIGINAL%"
68 ) else if [%PLATFORM%]==[x86] (
69 SET "PATH=%PATH_MINGW32%;%PATH_ORIGINAL%"
Sean Purcell8d2c6392017-03-24 11:45:02 -070070 ) )
71 )
72 - if [%HOST%]==[mingw] if [%BUILD%]==[true] (
inikep0a0403d2016-07-19 12:23:32 +020073 make -v &&
Sean Purcell5a2b8572017-03-14 15:59:57 -070074 sh -c "%COMPILER% -v" &&
Sean Purcell8d2c6392017-03-24 11:45:02 -070075 ECHO Building zlib to static link &&
76 SET "CC=%COMPILER%" &&
77 sh -c "cd .. && git clone --depth 1 --branch v1.2.11 https://github.com/madler/zlib" &&
78 sh -c "cd ../zlib && make -f win32/Makefile.gcc libz.a"
79 ECHO Building zstd &&
80 SET "CPPFLAGS=-I../../zlib" &&
81 SET "LDFLAGS=../../zlib/libz.a" &&
82 sh -c "%SCRIPT%" &&
Sean Purcellfcc55cc2017-03-29 13:08:10 -070083 ( if [%COMPILER%]==[gcc] if [%ARTIFACT%]==[true]
Yann Collet92960812018-03-23 15:00:04 -070084 ECHO Creating artifacts &&
Yann Colleta75104d2018-03-23 16:27:28 -070085 ECHO %cd% &&
Sean Purcellfcc55cc2017-03-29 13:08:10 -070086 lib\dll\example\build_package.bat &&
Yann Collet92960812018-03-23 15:00:04 -070087 cd programs\ && make DEBUGFLAGS= clean zstd &&
88 7z a -tzip -mx9 zstd-win-binary-%PLATFORM%.zip zstd.exe &&
Yann Collet9203dab2017-05-04 17:30:37 -070089 appveyor PushArtifact zstd-win-binary-%PLATFORM%.zip &&
Yann Collet36153af2017-05-04 17:40:40 -070090 cp zstd.exe ..\bin\zstd.exe &&
Yann Colletfa294b82018-03-23 17:20:05 -070091 git clone --depth 1 --branch master https://github.com/facebook/zstd &&
92 cd zstd &&
93 git archive --format=tar master -o zstd-src.tar &&
94 ..\zstd -19 zstd-src.tar &&
95 appveyor PushArtifact zstd-src.tar.zst &&
96 cd ..\..\bin\ &&
97 7z a -tzip -mx9 zstd-win-release-%PLATFORM%.zip * &&
Sean Purcellfcc55cc2017-03-29 13:08:10 -070098 appveyor PushArtifact zstd-win-release-%PLATFORM%.zip
99 )
inikepf3302152016-05-18 16:38:36 +0200100 )
Sean Purcell5a2b8572017-03-14 15:59:57 -0700101 - if [%HOST%]==[visual] (
inikep5e334be2016-05-18 09:07:28 +0200102 ECHO *** &&
inikep70ce21f2016-08-10 14:17:28 +0200103 ECHO *** Building Visual Studio 2008 %PLATFORM%\%CONFIGURATION% in %APPVEYOR_BUILD_FOLDER% &&
inikep5e334be2016-05-18 09:07:28 +0200104 ECHO *** &&
Yann Collet4c9a4c12016-09-19 14:58:14 +0200105 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" &&
106 DIR build\VS2008\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
107 MD5sum build/VS2008/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
108 COPY build\VS2008\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2008_%PLATFORM%_%CONFIGURATION%.exe &&
inikep5e334be2016-05-18 09:07:28 +0200109 ECHO *** &&
110 ECHO *** Building Visual Studio 2010 %PLATFORM%\%CONFIGURATION% &&
111 ECHO *** &&
Yann Collet4c9a4c12016-09-19 14:58:14 +0200112 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 +0100113 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
114 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
Yann Collet4c9a4c12016-09-19 14:58:14 +0200115 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 +0100116 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
117 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
118 COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2010_%PLATFORM%_%CONFIGURATION%.exe &&
inikep5e334be2016-05-18 09:07:28 +0200119 ECHO *** &&
120 ECHO *** Building Visual Studio 2012 %PLATFORM%\%CONFIGURATION% &&
121 ECHO *** &&
Yann Collet4c9a4c12016-09-19 14:58:14 +0200122 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 +0100123 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
124 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
Yann Collet4c9a4c12016-09-19 14:58:14 +0200125 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 +0100126 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
127 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
128 COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2012_%PLATFORM%_%CONFIGURATION%.exe &&
inikep5e334be2016-05-18 09:07:28 +0200129 ECHO *** &&
130 ECHO *** Building Visual Studio 2013 %PLATFORM%\%CONFIGURATION% &&
131 ECHO *** &&
Yann Collet4c9a4c12016-09-19 14:58:14 +0200132 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 +0100133 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
134 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
Yann Collet4c9a4c12016-09-19 14:58:14 +0200135 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 +0100136 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
137 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
138 COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2013_%PLATFORM%_%CONFIGURATION%.exe &&
inikep5e334be2016-05-18 09:07:28 +0200139 ECHO *** &&
140 ECHO *** Building Visual Studio 2015 %PLATFORM%\%CONFIGURATION% &&
141 ECHO *** &&
Yann Collet4c9a4c12016-09-19 14:58:14 +0200142 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 +0100143 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
144 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
Yann Collet4c9a4c12016-09-19 14:58:14 +0200145 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 +0100146 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
147 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
148 COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2015_%PLATFORM%_%CONFIGURATION%.exe &&
149 COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe tests\
inikep5e334be2016-05-18 09:07:28 +0200150 )
inikep7c4d0412016-05-16 14:48:04 +0200151
Sean Purcell5a2b8572017-03-14 15:59:57 -0700152 test_script:
inikep96abb5a2016-05-19 15:50:58 +0200153 - ECHO Testing %COMPILER% %PLATFORM% %CONFIGURATION%
Sean Purcelldd79c5c2017-03-29 14:40:11 -0700154 - SET "CC=gcc"
155 - SET "CXX=g++"
Sean Purcell5a2b8572017-03-14 15:59:57 -0700156 - if [%TEST%]==[cmake] (
Przemyslaw Skibinskicb8d2d92017-02-10 12:01:14 +0100157 mkdir build\cmake\build &&
158 cd build\cmake\build &&
159 cmake -G "Visual Studio 14 2015 Win64" .. &&
160 cd ..\..\.. &&
Sean Purcell5a2b8572017-03-14 15:59:57 -0700161 make clean
162 )
Yann Colletc6915422017-04-27 16:24:53 -0700163 - SET "FUZZERTEST=-T30s"
Sean Purcell5a2b8572017-03-14 15:59:57 -0700164 - if [%HOST%]==[visual] if [%CONFIGURATION%]==[Release] (
inikep7feafdd2016-08-18 15:17:18 +0200165 CD tests &&
inikep1dcb2ff2016-05-30 11:33:52 +0200166 SET ZSTD=./zstd.exe &&
inikep1dcb2ff2016-05-30 11:33:52 +0200167 sh -e playTests.sh --test-large-data &&
inikepd57b4182016-05-31 11:46:16 +0200168 fullbench.exe -i1 &&
169 fullbench.exe -i1 -P0 &&
inikep7feafdd2016-08-18 15:17:18 +0200170 fuzzer_VS2008_%PLATFORM%_Release.exe %FUZZERTEST% &&
171 fuzzer_VS2010_%PLATFORM%_Release.exe %FUZZERTEST% &&
172 fuzzer_VS2012_%PLATFORM%_Release.exe %FUZZERTEST% &&
173 fuzzer_VS2013_%PLATFORM%_Release.exe %FUZZERTEST% &&
174 fuzzer_VS2015_%PLATFORM%_Release.exe %FUZZERTEST%
inikep5e334be2016-05-18 09:07:28 +0200175 )
inikepe9ae30a2016-09-12 14:17:26 +0200176
Sean Purcell5a2b8572017-03-14 15:59:57 -0700177-
178 version: 1.0.{build}
Sean Purcell5a2b8572017-03-14 15:59:57 -0700179 environment:
180 matrix:
181 - COMPILER: "gcc"
182 HOST: "mingw"
183 PLATFORM: "x64"
Yann Collet8e298382017-08-31 14:30:52 -0700184 SCRIPT: "make allzstd"
Sean Purcell5a2b8572017-03-14 15:59:57 -0700185 - COMPILER: "gcc"
186 HOST: "mingw"
187 PLATFORM: "x86"
Yann Collet8e298382017-08-31 14:30:52 -0700188 SCRIPT: "make allzstd"
Sean Purcell5a2b8572017-03-14 15:59:57 -0700189 - COMPILER: "clang"
190 HOST: "mingw"
191 PLATFORM: "x64"
Yann Collet8e298382017-08-31 14:30:52 -0700192 SCRIPT: "MOREFLAGS='--target=x86_64-w64-mingw32 -Werror -Wconversion -Wno-sign-conversion' make allzstd"
Sean Purcelldaec40d2017-03-07 12:08:15 -0800193
Sean Purcell5a2b8572017-03-14 15:59:57 -0700194 - COMPILER: "visual"
195 HOST: "visual"
196 PLATFORM: "x64"
197 CONFIGURATION: "Debug"
198 - COMPILER: "visual"
199 HOST: "visual"
200 PLATFORM: "Win32"
201 CONFIGURATION: "Debug"
202 - COMPILER: "visual"
203 HOST: "visual"
204 PLATFORM: "x64"
205 CONFIGURATION: "Release"
206 - COMPILER: "visual"
207 HOST: "visual"
208 PLATFORM: "Win32"
209 CONFIGURATION: "Release"
inikepe9ae30a2016-09-12 14:17:26 +0200210
Sean Purcell5a2b8572017-03-14 15:59:57 -0700211 install:
212 - ECHO Installing %COMPILER% %PLATFORM% %CONFIGURATION%
213 - SET PATH_ORIGINAL=%PATH%
214 - if [%HOST%]==[mingw] (
Sean Purcellad8da882017-04-13 14:40:06 -0700215 SET "PATH_MINGW32=C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin" &&
216 SET "PATH_MINGW64=C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin" &&
217 COPY C:\msys64\usr\bin\make.exe C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin\make.exe &&
218 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 -0700219 )
220 - IF [%HOST%]==[visual] IF [%PLATFORM%]==[x64] (
221 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;"
222 )
223
224 build_script:
225 - ECHO Building %COMPILER% %PLATFORM% %CONFIGURATION%
226 - if [%HOST%]==[mingw] (
227 ( if [%PLATFORM%]==[x64] (
228 SET "PATH=%PATH_MINGW64%;%PATH_ORIGINAL%"
229 ) else if [%PLATFORM%]==[x86] (
230 SET "PATH=%PATH_MINGW32%;%PATH_ORIGINAL%"
231 ) ) &&
232 make -v &&
233 sh -c "%COMPILER% -v" &&
Sean Purcell5a61f362017-04-14 11:33:04 -0700234 set "CC=%COMPILER%" &&
235 sh -c "%SCRIPT%"
Sean Purcell5a2b8572017-03-14 15:59:57 -0700236 )
237 - if [%HOST%]==[visual] (
238 ECHO *** &&
239 ECHO *** Building Visual Studio 2015 %PLATFORM%\%CONFIGURATION% &&
240 ECHO *** &&
241 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" &&
242 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
243 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
244 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" &&
245 DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
246 MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
247 COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2015_%PLATFORM%_%CONFIGURATION%.exe &&
248 COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe tests\
249 )