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