]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/contrib/zstd/appveyor.yml
Merge ^/head r364082 through r364250.
[FreeBSD/FreeBSD.git] / sys / contrib / zstd / appveyor.yml
1 # Following tests are run _only_ on master branch
2 # To reproduce these tests, it's possible to push into a branch `appveyorTest`
3 # or a branch `visual*`, they will intentionnally trigger `master` tests
4
5 -
6   version: 1.0.{build}
7   branches:
8     only:
9     - master
10     - appveyorTest
11     - /visual*/
12   environment:
13     matrix:
14     - COMPILER: "gcc"
15       HOST:     "mingw"
16       PLATFORM: "x64"
17       SCRIPT:   "make allzstd MOREFLAGS=-static && make -C tests fullbench-lib"
18       ARTIFACT: "true"
19       BUILD:    "true"
20     - COMPILER: "gcc"
21       HOST:     "mingw"
22       PLATFORM: "x86"
23       SCRIPT:   "make allzstd MOREFLAGS=-static"
24       ARTIFACT: "true"
25       BUILD:    "true"
26     - COMPILER: "clang"
27       HOST:     "mingw"
28       PLATFORM: "x64"
29       SCRIPT:   "MOREFLAGS='--target=x86_64-w64-mingw32 -Werror -Wconversion -Wno-sign-conversion' make allzstd"
30       BUILD:    "true"
31
32     - COMPILER: "gcc"
33       HOST:     "mingw"
34       PLATFORM: "x64"
35       SCRIPT:   ""
36       TEST:     "cmake"
37
38     - COMPILER: "visual"
39       HOST:     "visual"
40       PLATFORM: "x64"
41       CONFIGURATION: "Debug"
42     - COMPILER: "visual"
43       HOST:     "visual"
44       PLATFORM: "Win32"
45       CONFIGURATION: "Debug"
46     - COMPILER: "visual"
47       HOST:     "visual"
48       PLATFORM: "x64"
49       CONFIGURATION: "Release"
50     - COMPILER: "visual"
51       HOST:     "visual"
52       PLATFORM: "Win32"
53       CONFIGURATION: "Release"
54
55   install:
56   - ECHO Installing %COMPILER% %PLATFORM% %CONFIGURATION%
57   - SET PATH_ORIGINAL=%PATH%
58   - if [%HOST%]==[mingw] (
59       SET "PATH_MINGW32=C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin" &&
60       SET "PATH_MINGW64=C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin" &&
61       COPY C:\msys64\usr\bin\make.exe C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin\make.exe &&
62       COPY C:\msys64\usr\bin\make.exe C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin\make.exe
63     )
64   - IF [%HOST%]==[visual] IF [%PLATFORM%]==[x64] (
65       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;"
66     )
67
68   build_script:
69   - if [%HOST%]==[mingw] (
70       ( if [%PLATFORM%]==[x64] (
71         SET "PATH=%PATH_MINGW64%;%PATH_ORIGINAL%"
72       ) else if [%PLATFORM%]==[x86] (
73         SET "PATH=%PATH_MINGW32%;%PATH_ORIGINAL%"
74       ) )
75     )
76   - if [%HOST%]==[mingw] if [%BUILD%]==[true] (
77       make -v &&
78       sh -c "%COMPILER% -v" &&
79       ECHO Building zlib to static link &&
80       SET "CC=%COMPILER%" &&
81       sh -c "cd .. && git clone --depth 1 --branch v1.2.11 https://github.com/madler/zlib" &&
82       sh -c "cd ../zlib && make -f win32/Makefile.gcc libz.a"
83       ECHO Building zstd &&
84       SET "CPPFLAGS=-I../../zlib" &&
85       SET "LDFLAGS=../../zlib/libz.a" &&
86       sh -c "%SCRIPT%" &&
87       ( if [%COMPILER%]==[gcc] if [%ARTIFACT%]==[true]
88           ECHO Creating artifacts &&
89           ECHO %cd% &&
90           lib\dll\example\build_package.bat &&
91           make -C programs DEBUGFLAGS= clean zstd &&
92           cd programs\ && 7z a -tzip -mx9 zstd-win-binary-%PLATFORM%.zip zstd.exe &&
93           appveyor PushArtifact zstd-win-binary-%PLATFORM%.zip &&
94           cp zstd.exe ..\bin\zstd.exe &&
95           git clone --depth 1 --branch master https://github.com/facebook/zstd &&
96           cd zstd &&
97           git archive --format=tar master -o zstd-src.tar &&
98           ..\zstd -19 zstd-src.tar &&
99           appveyor PushArtifact zstd-src.tar.zst &&
100           certUtil -hashfile zstd-src.tar.zst SHA256 > zstd-src.tar.zst.sha256.sig &&
101           appveyor PushArtifact zstd-src.tar.zst.sha256.sig &&
102           cd ..\..\bin\ &&
103           7z a -tzip -mx9 zstd-win-release-%PLATFORM%.zip * &&
104           appveyor PushArtifact zstd-win-release-%PLATFORM%.zip
105       )
106     )
107   - if [%HOST%]==[visual] (
108       ECHO *** &&
109       ECHO *** Building Visual Studio 2008 %PLATFORM%\%CONFIGURATION% in %APPVEYOR_BUILD_FOLDER% &&
110       ECHO *** &&
111       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" &&
112       DIR build\VS2008\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
113       MD5sum build/VS2008/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
114       COPY build\VS2008\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2008_%PLATFORM%_%CONFIGURATION%.exe &&
115       ECHO *** &&
116       ECHO *** Building Visual Studio 2010 %PLATFORM%\%CONFIGURATION% &&
117       ECHO *** &&
118       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" &&
119       DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
120       MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
121       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" &&
122       DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
123       MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
124       COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2010_%PLATFORM%_%CONFIGURATION%.exe &&
125       ECHO *** &&
126       ECHO *** Building Visual Studio 2012 %PLATFORM%\%CONFIGURATION% &&
127       ECHO *** &&
128       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" &&
129       DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
130       MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
131       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" &&
132       DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
133       MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
134       COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2012_%PLATFORM%_%CONFIGURATION%.exe &&
135       ECHO *** &&
136       ECHO *** Building Visual Studio 2013 %PLATFORM%\%CONFIGURATION% &&
137       ECHO *** &&
138       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" &&
139       DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
140       MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
141       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" &&
142       DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
143       MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
144       COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2013_%PLATFORM%_%CONFIGURATION%.exe &&
145       ECHO *** &&
146       ECHO *** Building Visual Studio 2015 %PLATFORM%\%CONFIGURATION% &&
147       ECHO *** &&
148       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" &&
149       DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
150       MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
151       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" &&
152       DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
153       MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
154       COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2015_%PLATFORM%_%CONFIGURATION%.exe &&
155       COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe tests\
156     )
157
158   test_script:
159   - ECHO Testing %COMPILER% %PLATFORM% %CONFIGURATION%
160   - SET "CC=gcc"
161   - SET "CXX=g++"
162   - if [%TEST%]==[cmake] (
163       mkdir build\cmake\build &&
164       cd build\cmake\build &&
165       cmake -G "Visual Studio 14 2015 Win64" .. &&
166       cd ..\..\.. &&
167       make clean
168     )
169   - SET "FUZZERTEST=-T30s"
170   - if [%HOST%]==[visual] if [%CONFIGURATION%]==[Release] (
171       CD tests &&
172       SET ZSTD_BIN=./zstd.exe&&
173       SET DATAGEN_BIN=./datagen.exe&&
174       sh -e playTests.sh --test-large-data &&
175       fullbench.exe -i1 &&
176       fullbench.exe -i1 -P0 &&
177       fuzzer_VS2012_%PLATFORM%_Release.exe %FUZZERTEST% &&
178       fuzzer_VS2013_%PLATFORM%_Release.exe %FUZZERTEST% &&
179       fuzzer_VS2015_%PLATFORM%_Release.exe %FUZZERTEST%
180     )
181
182
183 # The following tests are for regular pushes
184 # into `dev` or some feature branch
185 # There run less tests, for shorter feedback loop
186
187 -
188   version: 1.0.{build}
189   environment:
190     matrix:
191     - COMPILER: "gcc"
192       HOST:     "cygwin"
193       PLATFORM: "x64"
194     - COMPILER: "gcc"
195       HOST:     "mingw"
196       PLATFORM: "x64"
197       SCRIPT:   "CPPFLAGS=-DDEBUGLEVEL=2 CFLAGS=-Werror make -j allzstd DEBUGLEVEL=2"
198     - COMPILER: "gcc"
199       HOST:     "mingw"
200       PLATFORM: "x86"
201       SCRIPT:   "CFLAGS=-Werror make -j allzstd"
202     - COMPILER: "clang"
203       HOST:     "mingw"
204       PLATFORM: "x64"
205       SCRIPT:   "CFLAGS='--target=x86_64-w64-mingw32 -Werror -Wconversion -Wno-sign-conversion' make -j allzstd"
206
207     - COMPILER: "visual"
208       HOST:     "visual"
209       PLATFORM: "x64"
210       CONFIGURATION: "Debug"
211     - COMPILER: "visual"
212       HOST:     "visual"
213       PLATFORM: "Win32"
214       CONFIGURATION: "Debug"
215     - COMPILER: "visual"
216       HOST:     "visual"
217       PLATFORM: "x64"
218       CONFIGURATION: "Release"
219     - COMPILER: "visual"
220       HOST:     "visual"
221       PLATFORM: "Win32"
222       CONFIGURATION: "Release"
223
224   install:
225   - ECHO Installing %COMPILER% %PLATFORM% %CONFIGURATION%
226   - SET PATH_ORIGINAL=%PATH%
227   - if [%HOST%]==[cygwin] (
228       ECHO Installing Cygwin Packages &&
229       C:\cygwin64\setup-x86_64.exe -qnNdO -R "C:\cygwin64" -g -P ^
230         gcc-g++,^
231         gcc,^
232         cmake,^
233         make
234     )
235   - if [%HOST%]==[mingw] (
236       SET "PATH_MINGW32=C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin" &&
237       SET "PATH_MINGW64=C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin" &&
238       COPY C:\msys64\usr\bin\make.exe C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin\make.exe &&
239       COPY C:\msys64\usr\bin\make.exe C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin\make.exe
240     )
241   - IF [%HOST%]==[visual] IF [%PLATFORM%]==[x64] (
242       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;"
243     )
244
245   build_script:
246   - ECHO Building %COMPILER% %PLATFORM% %CONFIGURATION%
247   - if [%HOST%]==[cygwin] (
248       set CHERE_INVOKING=yes &&
249       set CC=%COMPILER% &&
250       C:\cygwin64\bin\bash --login -c "
251         set -e;
252         cd build/cmake;
253         CFLAGS='-Werror' cmake -G 'Unix Makefiles' -DCMAKE_BUILD_TYPE=Debug -DZSTD_BUILD_TESTS:BOOL=ON -DZSTD_FUZZER_FLAGS=-T30s -DZSTD_ZSTREAM_FLAGS=-T30s .;
254         make -j4;
255         ctest -V -L Medium;
256       "
257     )
258   - if [%HOST%]==[mingw] (
259       ( if [%PLATFORM%]==[x64] (
260         SET "PATH=%PATH_MINGW64%;%PATH_ORIGINAL%"
261       ) else if [%PLATFORM%]==[x86] (
262         SET "PATH=%PATH_MINGW32%;%PATH_ORIGINAL%"
263       ) ) &&
264       make -v &&
265       sh -c "%COMPILER% -v" &&
266       set "CC=%COMPILER%" &&
267       sh -c "%SCRIPT%"
268     )
269   - if [%HOST%]==[visual] (
270       ECHO *** &&
271       ECHO *** Building Visual Studio 2015 %PLATFORM%\%CONFIGURATION% &&
272       ECHO *** &&
273       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" &&
274       DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
275       MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
276       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" &&
277       DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
278       MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
279       COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2015_%PLATFORM%_%CONFIGURATION%.exe &&
280       COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe tests\
281     )
282
283
284   test_script:
285   - ECHO Testing %COMPILER% %PLATFORM% %CONFIGURATION%
286   - if [%HOST%]==[mingw] (
287       set "CC=%COMPILER%" &&
288       make check
289     )