1version: 1.0.{build}
2
3image: Visual Studio 2019
4
5environment:
6  JAVA_HOME: C:\Program Files\Java\jdk1.8.0
7  THIRDPARTY_HOME: $(APPVEYOR_BUILD_FOLDER)\thirdparty
8  SNAPPY_HOME: $(THIRDPARTY_HOME)\snappy-1.1.7
9  SNAPPY_INCLUDE: $(SNAPPY_HOME);$(SNAPPY_HOME)\build
10  SNAPPY_LIB_DEBUG: $(SNAPPY_HOME)\build\Debug\snappy.lib
11  SNAPPY_LIB_RELEASE: $(SNAPPY_HOME)\build\Release\snappy.lib
12  LZ4_HOME: $(THIRDPARTY_HOME)\lz4-1.8.3
13  LZ4_INCLUDE: $(LZ4_HOME)\lib
14  LZ4_LIB_DEBUG: $(LZ4_HOME)\visual\VS2010\bin\x64_Debug\liblz4_static.lib
15  LZ4_LIB_RELEASE: $(LZ4_HOME)\visual\VS2010\bin\x64_Release\liblz4_static.lib
16  ZSTD_HOME: $(THIRDPARTY_HOME)\zstd-1.4.0
17  ZSTD_INCLUDE: $(ZSTD_HOME)\lib;$(ZSTD_HOME)\lib\dictBuilder
18  ZSTD_LIB_DEBUG: $(ZSTD_HOME)\build\VS2010\bin\x64_Debug\libzstd_static.lib
19  ZSTD_LIB_RELEASE: $(ZSTD_HOME)\build\VS2010\bin\x64_Release\libzstd_static.lib
20  matrix:
21    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
22      CMAKE_GENERATOR: Visual Studio 14 Win64
23      DEV_ENV: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.com
24    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
25      CMAKE_GENERATOR: Visual Studio 15 Win64
26      DEV_ENV: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.com
27
28install:
29  - md %THIRDPARTY_HOME%
30  - echo "Building Snappy dependency..."
31  - cd %THIRDPARTY_HOME%
32  - curl --fail --silent --show-error --output snappy-1.1.7.zip --location https://github.com/google/snappy/archive/1.1.7.zip
33  - unzip snappy-1.1.7.zip
34  - cd snappy-1.1.7
35  - mkdir build
36  - cd build
37  - if DEFINED CMAKE_PLATEFORM_NAME (set "PLATEFORM_OPT=-A %CMAKE_PLATEFORM_NAME%")
38  - cmake .. -G "%CMAKE_GENERATOR%" %PLATEFORM_OPT%
39  - msbuild Snappy.sln /p:Configuration=Debug /p:Platform=x64
40  - msbuild Snappy.sln /p:Configuration=Release /p:Platform=x64
41  - echo "Building LZ4 dependency..."
42  - cd %THIRDPARTY_HOME%
43  - curl --fail --silent --show-error --output lz4-1.8.3.zip --location https://github.com/lz4/lz4/archive/v1.8.3.zip
44  - unzip lz4-1.8.3.zip
45  - cd lz4-1.8.3\visual\VS2010
46  - ps: $CMD="$Env:DEV_ENV"; & $CMD lz4.sln /upgrade
47  - msbuild lz4.sln /p:Configuration=Debug /p:Platform=x64
48  - msbuild lz4.sln /p:Configuration=Release /p:Platform=x64
49  - echo "Building ZStd dependency..."
50  - cd %THIRDPARTY_HOME%
51  - curl --fail --silent --show-error --output zstd-1.4.0.zip --location https://github.com/facebook/zstd/archive/v1.4.0.zip
52  - unzip zstd-1.4.0.zip
53  - cd zstd-1.4.0\build\VS2010
54  - ps: $CMD="$Env:DEV_ENV"; & $CMD zstd.sln /upgrade
55  - msbuild zstd.sln /p:Configuration=Debug /p:Platform=x64
56  - msbuild zstd.sln /p:Configuration=Release /p:Platform=x64
57
58before_build:
59  - md %APPVEYOR_BUILD_FOLDER%\build
60  - cd %APPVEYOR_BUILD_FOLDER%\build
61  - if DEFINED CMAKE_PLATEFORM_NAME (set "PLATEFORM_OPT=-A %CMAKE_PLATEFORM_NAME%")
62  - cmake .. -G "%CMAKE_GENERATOR%" %PLATEFORM_OPT% %CMAKE_OPT% -DCMAKE_BUILD_TYPE=Debug -DOPTDBG=1 -DPORTABLE=1 -DSNAPPY=1 -DLZ4=1 -DZSTD=1 -DXPRESS=1 -DJNI=1 -DWITH_ALL_TESTS=0
63  - cd ..
64
65build:
66  project: build\rocksdb.sln
67  parallel: true
68  verbosity: normal
69
70test:
71
72test_script:
73  - ps: build_tools\run_ci_db_test.ps1 -SuiteRun db_basic_test,env_basic_test -Concurrency 8
74
75on_failure:
76  - cmd: 7z a build-failed.zip %APPVEYOR_BUILD_FOLDER%\build\ && appveyor PushArtifact build-failed.zip
77
78