.appveyor.yml 2.8 KB

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