• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Windows Build Configuration for AppVeyor
2# http://www.appveyor.com/docs/appveyor-yml
3
4# version format
5version: "{build}"
6
7# The most recent compiler gives the most interesting new results.
8# Put it first so we get its feedback first.
9os:
10  - Visual Studio 2017
11  #- Visual Studio 2013
12
13platform:
14  - x64
15
16configuration:
17  - Debug
18  #- Release
19
20branches:
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.
29skip_tags: true
30
31clone_depth: 1
32
33matrix:
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
40install:
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;C:\Python36;%PATH%
46
47before_build:
48  - git clone --depth=1 https://github.com/KhronosGroup/SPIRV-Headers.git external/spirv-headers
49  - git clone https://github.com/google/googletest.git external/googletest
50  - cd external && cd googletest && git reset --hard 1fb1bb23bb8418dc73a5a9a82bbed31dc610fec7 && cd .. && cd ..
51  - git clone --depth=1 https://github.com/google/effcee.git external/effcee
52  - git clone --depth=1 https://github.com/google/re2.git external/re2
53  # Set path and environment variables for the current Visual Studio version
54  - if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2013" (call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86_amd64)
55  - 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)
56
57build:
58  parallel: true  # enable MSBuild parallel builds
59  verbosity: minimal
60
61build_script:
62  - mkdir build && cd build
63  - cmake -GNinja -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DCMAKE_INSTALL_PREFIX=install -DRE2_BUILD_TESTING=OFF ..
64  - ninja install
65
66test_script:
67  - ctest -C %CONFIGURATION% --output-on-failure --timeout 310
68
69after_test:
70  # Zip build artifacts for uploading and deploying
71  - cd install
72  - 7z a SPIRV-Tools-master-windows-"%PLATFORM%"-"%CONFIGURATION%".zip *\*
73
74artifacts:
75  - path: build\install\*.zip
76    name: artifacts-zip
77
78deploy:
79  - provider: GitHub
80    auth_token:
81      secure: TMfcScKzzFIm1YgeV/PwCRXFDCw8Xm0wY2Vb2FU6WKlbzb5eUITTpr6I5vHPnAxS
82    release: master-tot
83    description: "Continuous build of the latest master branch by Appveyor and Travis CI"
84    artifact: artifacts-zip
85    draft: false
86    prerelease: false
87    force_update: true
88    on:
89      branch: master
90      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
91