]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - appveyor.yml
Import Zstd 1.4.4
[FreeBSD/FreeBSD.git] / 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 test-symbols 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=./zstd.exe &&
173       sh -e playTests.sh --test-large-data &&
174       fullbench.exe -i1 &&
175       fullbench.exe -i1 -P0 &&
176       fuzzer_VS2012_%PLATFORM%_Release.exe %FUZZERTEST% &&
177       fuzzer_VS2013_%PLATFORM%_Release.exe %FUZZERTEST% &&
178       fuzzer_VS2015_%PLATFORM%_Release.exe %FUZZERTEST%
179     )
180
181
182 # The following tests are for regular pushes
183 # into `dev` or some feature branch
184 # There run less tests, for shorter feedback loop
185
186 -
187   version: 1.0.{build}
188   environment:
189     matrix:
190     - COMPILER: "gcc"
191       HOST:     "mingw"
192       PLATFORM: "x64"
193       SCRIPT:   "CPPFLAGS=-DDEBUGLEVEL=2 CFLAGS=-Werror make -j allzstd DEBUGLEVEL=2"
194     - COMPILER: "gcc"
195       HOST:     "mingw"
196       PLATFORM: "x86"
197       SCRIPT:   "CFLAGS=-Werror make -j allzstd"
198     - COMPILER: "clang"
199       HOST:     "mingw"
200       PLATFORM: "x64"
201       SCRIPT:   "CFLAGS='--target=x86_64-w64-mingw32 -Werror -Wconversion -Wno-sign-conversion' make -j allzstd"
202
203     - COMPILER: "visual"
204       HOST:     "visual"
205       PLATFORM: "x64"
206       CONFIGURATION: "Debug"
207     - COMPILER: "visual"
208       HOST:     "visual"
209       PLATFORM: "Win32"
210       CONFIGURATION: "Debug"
211     - COMPILER: "visual"
212       HOST:     "visual"
213       PLATFORM: "x64"
214       CONFIGURATION: "Release"
215     - COMPILER: "visual"
216       HOST:     "visual"
217       PLATFORM: "Win32"
218       CONFIGURATION: "Release"
219
220   install:
221   - ECHO Installing %COMPILER% %PLATFORM% %CONFIGURATION%
222   - SET PATH_ORIGINAL=%PATH%
223   - if [%HOST%]==[mingw] (
224       SET "PATH_MINGW32=C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin" &&
225       SET "PATH_MINGW64=C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin" &&
226       COPY C:\msys64\usr\bin\make.exe C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin\make.exe &&
227       COPY C:\msys64\usr\bin\make.exe C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin\make.exe
228     )
229   - IF [%HOST%]==[visual] IF [%PLATFORM%]==[x64] (
230       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;"
231     )
232
233   build_script:
234   - ECHO Building %COMPILER% %PLATFORM% %CONFIGURATION%
235   - if [%HOST%]==[mingw] (
236       ( if [%PLATFORM%]==[x64] (
237         SET "PATH=%PATH_MINGW64%;%PATH_ORIGINAL%"
238       ) else if [%PLATFORM%]==[x86] (
239         SET "PATH=%PATH_MINGW32%;%PATH_ORIGINAL%"
240       ) ) &&
241       make -v &&
242       sh -c "%COMPILER% -v" &&
243       set "CC=%COMPILER%" &&
244       sh -c "%SCRIPT%"
245     )
246   - if [%HOST%]==[visual] (
247       ECHO *** &&
248       ECHO *** Building Visual Studio 2015 %PLATFORM%\%CONFIGURATION% &&
249       ECHO *** &&
250       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" &&
251       DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
252       MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
253       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" &&
254       DIR build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe &&
255       MD5sum build/VS2010/bin/%PLATFORM%_%CONFIGURATION%/*.exe &&
256       COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2015_%PLATFORM%_%CONFIGURATION%.exe &&
257       COPY build\VS2010\bin\%PLATFORM%_%CONFIGURATION%\*.exe tests\
258     )
259
260
261   test_script:
262   - ECHO Testing %COMPILER% %PLATFORM% %CONFIGURATION%
263   - if [%HOST%]==[mingw] (
264       set "CC=%COMPILER%" &&
265       make check
266     )