Merge pull request #979 from KhronosGroup/github-releases

Add setup for Github releases via Travis.
diff --git a/.travis.yml b/.travis.yml
index fa14abf..a31ae0d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -11,43 +11,63 @@
       compiler: gcc
       env:
         - GENERATOR="Unix Makefiles"
+        - ARTIFACT=gcc-trusty-64bit
     - os: linux
       dist: trusty
       compiler: clang
       env:
         - GENERATOR="Unix Makefiles"
+        - ARTIFACT=clang-trusty-64bit
     - os: osx
       compiler: clang
       osx_image: xcode10
       env:
         - GENERATOR="Unix Makefiles"
+        - ARTIFACT=clang-macos-64bit
     - os: windows
       before_install:
         - choco install python3
-        - choco install python2
-        - export PATH="/c/Python27:/c/Python27/Scripts:$PATH"
         - export PATH="/c/Python37:/c/Python37/Scripts:$PATH"
       env:
         - GENERATOR="Visual Studio 15 2017"
+        - ARTIFACT=vs2017-32bit
     - os: windows
       before_install:
         - choco install python3
-        - choco install python2
-        - export PATH="/c/Python27:/c/Python27/Scripts:$PATH"
         - export PATH="/c/Python37:/c/Python37/Scripts:$PATH"
       env:
         - GENERATOR="Visual Studio 15 2017 Win64"
+        - ARTIFACT=vs2017-64bit
 
 before_script:
-  - ./checkout_glslang_spirv_tools.sh
+  - "./checkout_glslang_spirv_tools.sh"
 
 script:
   - if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then PYTHON3=$(which python); fi
   - if [[ "$TRAVIS_OS_NAME" != "windows" ]]; then PYTHON3=$(which python3); fi
-  - ./build_glslang_spirv_tools.sh Release
+  - "./build_glslang_spirv_tools.sh Release"
   - mkdir build
   - cd build
   - cmake .. -DSPIRV_CROSS_SHARED=ON -DCMAKE_INSTALL_PREFIX=output -DCMAKE_BUILD_TYPE=Release -G "${GENERATOR}" -DPYTHON_EXECUTABLE:FILEPATH="${PYTHON3}" -DSPIRV_CROSS_ENABLE_TESTS=ON
   - cmake --build . --config Release
   - cmake --build . --config Release --target install
   - ctest --verbose -C Release
+  - cd ..
+
+before_deploy:
+  - REV=${ARTIFACT}-$(git rev-parse --short=10 HEAD)
+  - cd build/output
+  - tar cf spirv-cross-${REV}.tar *
+  - gzip spirv-cross-${REV}.tar
+  - cd ../..
+  - export FILE_TO_UPLOAD=build/output/spirv-cross-${REV}.tar.gz
+
+deploy:
+  provider: releases
+  api_key:
+    secure: c7YEOyzhE19TFo76UnbLWk/kikRQxsHsOxzkOqN6Q2aL8joNRw5kmcG84rGd+Rf6isX62cykCzA6qHkyJCv9QTIzcyXnLju17rLvgib7cXDcseaq8x4mFvet2yUxCglthDpFY2M2LB0Aqws71lPeYIrKXa6hCFEh8jO3AWxnaor7O3RYfNZylM9d33HgH6KLT3sDx/cukwBstmKeg7EG9OUnrSvairkPW0W2+jlq3SXPlq/WeVhf8hQs3Yg0BluExGbmLOwe9EaeUpeGuJMyHRxXypnToQv1/KwoScKpap5tYxdNWiwRGZ4lYcmKrjAYVvilTioh654oX5LQpn34mE/oe8Ko9AaATkSaoiisRFp6meWtnB39oFBoL5Yn15DqLQpRXPr1AJsnBXSGAac3aDBO1j4MIqTHmYlYlfRw3n2ZsBaFaTZnv++438SNQ54nkivyoDTIWjoOmYa9+K4mQc3415RDdQmjZTJM+lu+GAlMmNBTVbfNvrbU55Usu9Lo6BZJKKdUMvdBB78kJ5FHvcBlL+eMgmk1pABQY0IZROCt7NztHcv1UmAxoWNxveSFs5glydPNNjNS8bogc4dzBGYG0KMmILbBHihVbY2toA1M9CMdDHdp+LucfDMmzECmYSEmlx0h8win+Jjb74/qpOhaXuUZ0NnzVgCOyeUYuMQ=
+  file: "${FILE_TO_UPLOAD}"
+  skip_cleanup: true
+  on:
+    repo: KhronosGroup/SPIRV-Cross
+    draft: true