Merge pull request #2998 from jeremy-lunarg/hayes-update-changes
[platform/upstream/glslang.git] / .appveyor.yml
1 # Windows Build Configuration for AppVeyor
2 # http://www.appveyor.com/docs/appveyor-yml
3
4 # build version format
5 version: "{build}"
6
7 os: Visual Studio 2015
8
9 platform:
10   - x64
11
12 configuration:
13   - Debug
14   - Release
15
16 branches:
17   only:
18     - master
19
20 # changes to these files don't need to trigger testing
21 skip_commits:
22   files:
23     - README.md
24     - README-spirv-remap.txt
25     - LICENSE.txt
26     - CODE_OF_CONDUCT.md
27     - BUILD.*
28     - WORKSPACE
29     - kokoro/*
30     - make-revision
31     - Android.mk
32     - _config.yml
33
34 # Travis advances the master-tot tag to current top of the tree after
35 # each push into the master branch, because it relies on that tag to
36 # upload build artifacts to the master-tot release. This will cause
37 # double testing for each push on Appveyor: one for the push, one for
38 # the tag advance. Disable testing tags.
39 skip_tags: true
40
41 clone_depth: 5
42
43 matrix:
44   fast_finish: true # Show final status immediately if a test fails.
45
46 # scripts that run after cloning repository
47 install:
48   - C:/Python27/python.exe update_glslang_sources.py
49   - set PATH=C:\ninja;C:\Python36;%PATH%
50   - git clone https://github.com/google/googletest.git External/googletest
51
52 build:
53   parallel: true  # enable MSBuild parallel builds
54   verbosity: minimal
55
56 build_script:
57   - mkdir build && cd build
58   - cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_INSTALL_PREFIX=install ..
59   - cmake --build . --config %CONFIGURATION% --target install
60
61 test_script:
62   - ctest -C %CONFIGURATION% --output-on-failure
63   - cd ../Test && bash runtests
64   - cd ../build
65
66 after_test:
67   # For debug build, the generated dll has a postfix "d" in its name.
68   - ps: >-
69       If ($env:configuration -Match "Debug") {
70         $env:SUFFIX="d"
71       } Else {
72         $env:SUFFIX=""
73       }
74   - cd install
75   # Zip all glslang artifacts for uploading and deploying
76   - 7z a glslang-master-windows-"%PLATFORM%"-"%CONFIGURATION%".zip
77     bin\glslangValidator.exe
78     bin\spirv-remap.exe
79     include\glslang\*
80     lib\GenericCodeGen%SUFFIX%.lib
81     lib\glslang%SUFFIX%.lib
82     lib\glslang-default-resource-limits%SUFFIX%.lib
83     lib\HLSL%SUFFIX%.lib
84     lib\MachineIndependent%SUFFIX%.lib
85     lib\OGLCompiler%SUFFIX%.lib
86     lib\OSDependent%SUFFIX%.lib
87     lib\SPIRV%SUFFIX%.lib
88     lib\SPVRemapper%SUFFIX%.lib
89     lib\SPIRV-Tools%SUFFIX%.lib
90     lib\SPIRV-Tools-opt%SUFFIX%.lib
91
92 artifacts:
93   - path: build\install\*.zip
94     name: artifacts-zip
95
96 deploy:
97   - provider: GitHub
98     auth_token:
99       secure: YglcSYdl0TylEa59H4K6lylBEDr586NAt2EMgZquSo+iuPrwgZQuJLPCoihSm9y6
100     release: master-tot
101     description: "Continuous build of the latest master branch by Appveyor and Github"
102     artifact: artifacts-zip
103     draft: false
104     prerelease: false
105     force_update: true
106     on:
107       branch: master
108       APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015