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