Reimplement the DecorationManager
[platform/upstream/SPIRV-Tools.git] / .appveyor.yml
1 # Windows Build Configuration for AppVeyor
2 # http://www.appveyor.com/docs/appveyor-yml
3
4 # version format
5 version: "{build}"
6
7 # The most recent compiler gives the most interesting new results.
8 # Put it first so we get its feedback first.
9 os:
10   - Visual Studio 2017
11   - Visual Studio 2013
12
13 platform:
14   - x64
15
16 configuration:
17   - Debug
18   - Release
19
20 branches:
21   only:
22     - master
23
24 # Travis advances the master-tot tag to current top of the tree after
25 # each push into the master branch, because it relies on that tag to
26 # upload build artifacts to the master-tot release. This will cause
27 # double testing for each push on Appveyor: one for the push, one for
28 # the tag advance. Disable testing tags.
29 skip_tags: true
30
31 clone_depth: 1
32
33 matrix:
34   fast_finish: true # Show final status immediately if a test fails.
35   exclude:
36     - os: Visual Studio 2013
37       configuration: Debug
38
39 # scripts that run after cloning repository
40 install:
41   # Install ninja
42   - set NINJA_URL="https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-win.zip"
43   - appveyor DownloadFile %NINJA_URL% -FileName ninja.zip
44   - 7z x ninja.zip -oC:\ninja > nul
45   - set PATH=C:\ninja;%PATH%
46
47 before_build:
48   - git clone --depth=1 https://github.com/KhronosGroup/SPIRV-Headers.git external/spirv-headers
49   - git clone --depth=1 https://github.com/google/googletest.git external/googletest
50   - git clone --depth=1 https://github.com/google/effcee.git external/effcee
51   - git clone --depth=1 https://github.com/google/re2.git external/re2
52   # Set path and environment variables for the current Visual Studio version
53   - if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2013" (call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86_amd64)
54   - if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2017" (call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x86_amd64)
55
56 build:
57   parallel: true  # enable MSBuild parallel builds
58   verbosity: minimal
59
60 build_script:
61   - mkdir build && cd build
62   - cmake -GNinja -DSPIRV_BUILD_COMPRESSION=ON -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DCMAKE_INSTALL_PREFIX=install -DRE2_BUILD_TESTING=OFF ..
63   - ninja install
64
65 test_script:
66   - ctest -C %CONFIGURATION% --output-on-failure --timeout 300
67
68 after_test:
69   # Zip build artifacts for uploading and deploying
70   - cd install
71   - 7z a SPIRV-Tools-master-windows-"%PLATFORM%"-"%CONFIGURATION%".zip *\*
72
73 artifacts:
74   - path: build\install\*.zip
75     name: artifacts-zip
76
77 deploy:
78   - provider: GitHub
79     auth_token:
80       secure: TMfcScKzzFIm1YgeV/PwCRXFDCw8Xm0wY2Vb2FU6WKlbzb5eUITTpr6I5vHPnAxS
81     release: master-tot
82     description: "Continuous build of the latest master branch by Appveyor and Travis CI"
83     artifact: artifacts-zip
84     draft: false
85     prerelease: false
86     force_update: true
87     on:
88       branch: master
89       APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017