blob: a825b224e509198e99f4ad8a71151b3448783fb7 [file] [log] [blame]
Eugene Kliuchnikov6b1d0ab2017-09-18 13:05:47 +02001branches:
2 only:
3 - master
4
Cosimo Lupo06300902015-08-11 12:15:03 +01005environment:
Cosimo Lupo06300902015-08-11 12:15:03 +01006 matrix:
Eugene Kliuchnikov26a34a42017-09-14 16:14:05 +02007 - BUILD_SYSTEM: CMake
8 GENERATOR: Visual Studio 14 2015 Win64
Evan Nemersonc1ec7ba2016-07-29 11:52:15 -07009
Eugene Kliuchnikov26a34a42017-09-14 16:14:05 +020010 - BUILD_SYSTEM: CMake
11 GENERATOR: Visual Studio 14 2015
Evan Nemersonc1ec7ba2016-07-29 11:52:15 -070012
Eugene Kliuchnikov26a34a42017-09-14 16:14:05 +020013 - BUILD_SYSTEM: Python
14 PYTHON: "C:\\Python27"
15 PYTHON_VERSION: "2.7.x"
16 PYTHON_ARCH: "32"
Evan Nemersonc1ec7ba2016-07-29 11:52:15 -070017
Eugene Kliuchnikov26a34a42017-09-14 16:14:05 +020018 - BUILD_SYSTEM: Python
19 PYTHON: "C:\\Python36-x64"
20 PYTHON_VERSION: "3.6.x"
21 PYTHON_ARCH: "64"
Evan Nemersonc1ec7ba2016-07-29 11:52:15 -070022
Eugene Kliuchnikov26a34a42017-09-14 16:14:05 +020023 - BUILD_SYSTEM: make
24 ARCH: "i686"
Cosimo Lupo06300902015-08-11 12:15:03 +010025
Eugene Kliuchnikov26a34a42017-09-14 16:14:05 +020026 - BUILD_SYSTEM: make
27 ARCH: "x86_64"
Cosimo Lupo33331762015-10-07 09:18:01 +010028
Eugene Kliuchnikov9c75a2a2017-10-11 22:26:37 +020029 - BUILD_SYSTEM: bazel
30
Cosimo Lupo06300902015-08-11 12:15:03 +010031install:
Eugene Kliuchnikov26a34a42017-09-14 16:14:05 +020032- IF "%BUILD_SYSTEM%"=="Python" (
33 SET "PATH=%PYTHON%;%PYTHON%\Scripts;%PATH%" &&
34 pip install --disable-pip-version-check --user --upgrade pip &&
35 pip install --upgrade setuptools
36 )
37- IF "%BUILD_SYSTEM%"=="make" (
38 IF "%ARCH%"=="i686" (
39 SET "TOOLCHAIN=i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32"
40 ) ELSE (
41 SET "TOOLCHAIN=x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64"
42 )
43 )
Eugene Kliuchnikov9c75a2a2017-10-11 22:26:37 +020044- IF "%BUILD_SYSTEM%"=="bazel" (
45 appveyor DownloadFile https://github.com/bazelbuild/bazel/releases/download/0.6.1/bazel-0.6.1-windows-x86_64.exe -FileName bazel.exe
46 )
Cosimo Lupo06300902015-08-11 12:15:03 +010047
Evan Nemersonc1ec7ba2016-07-29 11:52:15 -070048before_build:
Eugene Kliuchnikov9c75a2a2017-10-11 22:26:37 +020049- FOR /f %%i in ('C:\cygwin64\bin\date.exe +%%Y-%%m-%%d') DO SET "RELEASE_DATE=%%i"
Eugene Kliuchnikov26a34a42017-09-14 16:14:05 +020050- IF "%BUILD_SYSTEM%"=="CMake" ( mkdir builddir && cd builddir && cmake -G "%GENERATOR%" .. )
51- IF "%BUILD_SYSTEM%"=="make" (
52 SET "CC=gcc" &&
53 SET "PATH=C:\mingw-w64\%TOOLCHAIN%\bin;%PATH%" &&
Eugene Kliuchnikov9c75a2a2017-10-11 22:26:37 +020054 COPY C:\msys64\usr\bin\make.exe C:\mingw-w64\%TOOLCHAIN%\bin\make.exe
Eugene Kliuchnikov26a34a42017-09-14 16:14:05 +020055 )
Evan Nemersonc1ec7ba2016-07-29 11:52:15 -070056
57build_script:
Eugene Kliuchnikov26a34a42017-09-14 16:14:05 +020058- IF "%BUILD_SYSTEM%"=="CMake" ( cmake --build . --config Debug )
59- IF "%BUILD_SYSTEM%"=="Python" ( python setup.py build_ext )
60- IF "%BUILD_SYSTEM%"=="make" (
61 sh -c "make brotli" &&
Eugene Kliuchnikov6b1d0ab2017-09-18 13:05:47 +020062 cd bin && 7z a -tzip -mx9 brotli-win-%ARCH%-%RELEASE_DATE%.zip brotli.exe &&
63 appveyor PushArtifact brotli-win-%ARCH%-%RELEASE_DATE%.zip && cd ..
Eugene Kliuchnikov26a34a42017-09-14 16:14:05 +020064 )
Eugene Kliuchnikov9c75a2a2017-10-11 22:26:37 +020065- IF "%BUILD_SYSTEM%"=="bazel" (
66 bazel --batch build -c opt java/org/brotli/wrapper/...:all &&
67 python scripts/fix-win-bazel-build.py &&
68 cd bazel-bin && 7z a -tzip -mx9 brotli-win-bazel-jni-%RELEASE_DATE%.zip brotli_jni.dll &&
69 appveyor PushArtifact brotli-win-bazel-jni-%RELEASE_DATE%.zip && cd ..
70 )
Cosimo Lupo06300902015-08-11 12:15:03 +010071
72test_script:
Eugene Kliuchnikov26a34a42017-09-14 16:14:05 +020073- IF "%BUILD_SYSTEM%"=="CMake" ( ctest --output-on-failure --interactive-debug-mode 0 -C Debug )
74- IF "%BUILD_SYSTEM%"=="Python" ( python setup.py test )
75- IF "%BUILD_SYSTEM%"=="make" ( sh -c "make test" )
Eugene Kliuchnikov9c75a2a2017-10-11 22:26:37 +020076- IF "%BUILD_SYSTEM%"=="bazel" ( bazel --batch test -c opt --test_output streamed java/org/brotli/wrapper/...:all )
Eugene Kliuchnikov6b1d0ab2017-09-18 13:05:47 +020077
78deploy:
79- provider: BinTray
80 on:
81 branch: master
82 username: eustas
83 api_key:
84 secure: B3rM8JYeIHIw6BfOjHggAeyTmxEf8ZDYmyF9gCwqyWaxyxECD9BuN50SiV2KE/RI
85 subject: eustas
86 repo: brotli
87 package: bin
88 version: snapshot
89 publish: true
90 override: true