summaryrefslogtreecommitdiffstats
path: root/appveyor.yml
diff options
context:
space:
mode:
authorAndrew Gallant <jamslam@gmail.com>2016-09-05 20:57:58 -0400
committerAndrew Gallant <jamslam@gmail.com>2016-09-05 20:57:58 -0400
commit5c820ba6387c6a9e3a50cecd1a16cf2ad8481234 (patch)
tree39b29e0c505b3ff7c3221c6eeaae2d2d7f260f4c /appveyor.yml
parentb2e9ff1361fd69c14969b78540669c6d61b51a6d (diff)
setting up windows, take 10.0.3
Diffstat (limited to 'appveyor.yml')
-rw-r--r--appveyor.yml71
1 files changed, 71 insertions, 0 deletions
diff --git a/appveyor.yml b/appveyor.yml
index ebb689b1..777d7bed 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -15,3 +15,74 @@ build: false
test_script:
- cargo build --verbose
- cargo test --verbose
+
+
+environment:
+ global:
+ PROJECT_NAME: xrep
+ matrix:
+ # Nightly channel
+ - TARGET: i686-pc-windows-gnu
+ CHANNEL: nightly
+ - TARGET: i686-pc-windows-msvc
+ CHANNEL: nightly
+ - TARGET: x86_64-pc-windows-gnu
+ CHANNEL: nightly
+ - TARGET: x86_64-pc-windows-msvc
+ CHANNEL: nightly
+
+# Install Rust and Cargo
+# (Based on from https://github.com/rust-lang/libc/blob/master/appveyor.yml)
+install:
+ - ps: Start-FileDownload "https://static.rust-lang.org/dist/channel-rust-stable"
+ - ps: $env:RUST_VERSION = Get-Content channel-rust-stable | select -first 1 | %{$_.split('-')[1]}
+ - if NOT "%CHANNEL%" == "stable" set RUST_VERSION=%CHANNEL%
+ - ps: Start-FileDownload "https://static.rust-lang.org/dist/rust-${env:RUST_VERSION}-${env:TARGET}.exe"
+ - rust-%RUST_VERSION%-%TARGET%.exe /VERYSILENT /NORESTART /DIR="C:\Program Files (x86)\Rust"
+ - SET PATH=%PATH%;C:\Program Files (x86)\Rust\bin
+ - if "%TARGET%" == "i686-pc-windows-gnu" set PATH=%PATH%;C:\msys64\mingw32\bin
+ - if "%TARGET%" == "x86_64-pc-windows-gnu" set PATH=%PATH%;C:\msys64\mingw64\bin
+ - rustc -V
+ - cargo -V
+
+# ???
+build: false
+
+# Equivalent to Travis' `script` phase
+# TODO modify this phase as you see fit
+test_script:
+ - cargo build --verbose
+ - cargo test
+
+before_deploy:
+ # Generate artifacts for release
+ - RUSTFLAGS="-C target-feature=+ssse3" cargo build --release --features simd-accel
+ - mkdir staging
+ # TODO update this part to copy the artifacts that make sense for your project
+ - copy target\release\xrep.exe staging
+ - cd staging
+ # release zipfile will look like 'rust-everywhere-v1.2.3-x86_64-pc-windows-msvc'
+ - 7z a ../%PROJECT_NAME%-%APPVEYOR_REPO_TAG_NAME%-%TARGET%.zip *
+ - appveyor PushArtifact ../%PROJECT_NAME%-%APPVEYOR_REPO_TAG_NAME%-%TARGET%.zip
+
+deploy:
+ description: 'Windows release'
+ # All the zipped artifacts will be deployed
+ artifact: /.*\.zip/
+ auth_token:
+ secure: vv4vBCEosGlyQjaEC1+kraP2P6O4CQSa+Tw50oHWFTGcmuXxaWS0/yEXbxsIRLpw
+ provider: GitHub
+ # deploy when a new tag is pushed and only on the stable channel
+ on:
+ # channel to use to produce the release artifacts
+ # NOTE make sure you only release *once* per target
+ # TODO you may want to pick a different channel
+ CHANNEL: nightly
+ appveyor_repo_tag: true
+
+branches:
+ only:
+ - appveyor
+ - /\d+\.\d+\.\d+/
+ except:
+ - master