Test for pollution of the global namespace
[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 os:
8   - Visual Studio 2013
9   - Visual Studio 2015
10   - Visual Studio 2017
11
12 platform:
13   - x64
14
15 configuration:
16   - Debug
17   - Release
18
19 branches:
20   only:
21     - master
22
23 # Travis advances the master-tot tag to current top of the tree after
24 # each push into the master branch, because it relies on that tag to
25 # upload build artifacts to the master-tot release. This will cause
26 # double testing for each push on Appveyor: one for the push, one for
27 # the tag advance. Disable testing tags.
28 skip_tags: true
29
30 clone_depth: 5
31
32 matrix:
33   fast_finish: true # Show final status immediately if a test fails.
34   exclude:
35     - os: Visual Studio 2013
36       configuration: Debug
37     - os: Visual Studio 2015
38       configuration: Debug
39
40 # scripts that run after cloning repository
41 install:
42   - git clone https://github.com/KhronosGroup/SPIRV-Headers.git external/spirv-headers
43   - git clone https://github.com/google/googletest.git external/googletest
44   - git clone https://github.com/google/effcee.git external/effcee
45   - git clone https://github.com/google/re2.git external/re2
46
47 build:
48   parallel: true  # enable MSBuild parallel builds
49   verbosity: minimal
50
51 build_script:
52   - mkdir build && cd build
53   - cmake -DSPIRV_BUILD_COMPRESSION=ON -DCMAKE_INSTALL_PREFIX=install ..
54   - cmake --build . --config %CONFIGURATION% --target install
55
56 test_script:
57   - ctest -C %CONFIGURATION% --output-on-failure --timeout 300
58
59 after_test:
60   # Zip build artifacts for uploading and deploying
61   - cd install
62   - 7z a SPIRV-Tools-master-windows-"%PLATFORM%"-"%CONFIGURATION%".zip *\*
63
64 artifacts:
65   - path: build\install\*.zip
66     name: artifacts-zip
67
68 deploy:
69   - provider: GitHub
70     auth_token:
71       secure: TMfcScKzzFIm1YgeV/PwCRXFDCw8Xm0wY2Vb2FU6WKlbzb5eUITTpr6I5vHPnAxS
72     release: master-tot
73     description: "Continuous build of the latest master branch by Appveyor and Travis CI"
74     artifact: artifacts-zip
75     draft: false
76     prerelease: false
77     force_update: true
78     on:
79       branch: master
80       APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017