aboutsummaryrefslogtreecommitdiff
path: root/appveyor.yml
diff options
context:
space:
mode:
Diffstat (limited to 'appveyor.yml')
-rw-r--r--appveyor.yml65
1 files changed, 65 insertions, 0 deletions
diff --git a/appveyor.yml b/appveyor.yml
new file mode 100644
index 0000000..2370cac
--- /dev/null
+++ b/appveyor.yml
@@ -0,0 +1,65 @@
+environment:
+ global:
+ # This will be used as part of the zipfile name
+ PROJECT_NAME: ilc
+ RUST_VERSION: nightly
+ matrix:
+ - TARGET: i686-pc-windows-gnu
+ MSYS2_BITS: 32
+ - TARGET: i686-pc-windows-msvc
+ - TARGET: x86_64-pc-windows-gnu
+ MSYS2_BITS: 64
+ - TARGET: x86_64-pc-windows-msvc
+
+# Install Rust and Cargo
+# (Shamelessly stolen from https://github.com/rust-lang/libc/blob/master/appveyor.yml)
+install:
+ - 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 defined MSYS2_BITS set PATH=%PATH%;C:\msys64\mingw%MSYS2_BITS%\bin
+ - rustc -V
+ - cargo -V
+
+# ???
+build: false
+
+# Equivalent to Travis' `script` phase
+test_script:
+ - cargo build --verbose
+ - cargo run
+ - cargo test
+ - cargo build --release
+
+# Equivalent to `before_deploy` phase
+after_test:
+ - mkdir staging
+ - copy target\release\ilc.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 *
+
+# IMPORTANT All the artifacts need to be listed here, or they won't be uploaded to GitHub
+artifacts:
+ - path: $(PROJECT_NAME)-$(APPVEYOR_REPO_TAG_NAME)-$(TARGET).zip
+ name: $(PROJECT_NAME)-$(APPVEYOR_REPO_TAG_NAME)-$(TARGET).zip
+ type: zip
+
+deploy:
+ description: 'Windows release'
+ # All the zipped artifacts will be deployed
+ artifact: /.*\.zip/
+ # - Go to 'https://github.com/settings/tokens/new' and generate a Token with only the
+ # `public_repo` scope enabled
+ # - Then go to 'https://ci.appveyor.com/tools/encrypt' and enter the newly generated token.
+ # - Enter the "encrypted value" below
+ auth_token:
+ secure: qv5P4J0gzS1fd4JpHwLCuFF5Ay8uszKJYocTsDf+r3Sr8alloL6PznLb0C5Y909h
+ provider: GitHub
+ # deploy when a new tag is pushed
+ on:
+ appveyor_repo_tag: true
+
+branches:
+ only:
+ - master