summaryrefslogtreecommitdiff
path: root/appveyor.yml
diff options
context:
space:
mode:
authorZac Berkowitz <zac.berkowitz@gmail.com>2017-02-25 02:21:41 +0000
committerBryant Mairs <bryant@mai.rs>2017-04-09 07:41:58 -0700
commitee2bff1cc42f5cd8371c10d8d9228fe1c0261023 (patch)
tree4369a054854a6cf74f9e05461cf0967d1b3e9c0d /appveyor.yml
parent52963abcdddae0ee2684c33a1f451b8a3cf0406b (diff)
downloadnix-ee2bff1cc42f5cd8371c10d8d9228fe1c0261023.zip
Added ci templates from `trust` v0.1.1
Diffstat (limited to 'appveyor.yml')
-rw-r--r--appveyor.yml93
1 files changed, 93 insertions, 0 deletions
diff --git a/appveyor.yml b/appveyor.yml
new file mode 100644
index 00000000..ca133083
--- /dev/null
+++ b/appveyor.yml
@@ -0,0 +1,93 @@
+# Based on the "trust" template v0.1.1
+# https://github.com/japaric/trust/tree/v0.1.1
+
+environment:
+ global:
+ # TODO This is the Rust channel that build jobs will use by default but can be
+ # overridden on a case by case basis down below
+ RUST_VERSION: stable
+
+ # TODO Update this to match the name of your project.
+ CRATE_NAME: trust
+
+ # TODO These are all the build jobs. Adjust as necessary. Comment out what you
+ # don't need
+ matrix:
+ # MinGW
+ - TARGET: i686-pc-windows-gnu
+ - TARGET: x86_64-pc-windows-gnu
+
+ # MSVC
+ - TARGET: i686-pc-windows-msvc
+ - TARGET: x86_64-pc-windows-msvc
+
+ # Testing other channels
+ - TARGET: x86_64-pc-windows-gnu
+ RUST_VERSION: nightly
+ - TARGET: x86_64-pc-windows-msvc
+ RUST_VERSION: nightly
+
+install:
+ - ps: >-
+ If ($Env:TARGET -eq 'x86_64-pc-windows-gnu') {
+ $Env:PATH += ';C:\msys64\mingw64\bin'
+ } ElseIf ($Env:TARGET -eq 'i686-pc-windows-gnu') {
+ $Env:PATH += ';C:\msys64\mingw32\bin'
+ }
+ - curl -sSf -o rustup-init.exe https://win.rustup.rs/
+ - rustup-init.exe -y --default-host %TARGET% --default-toolchain %RUST_VERSION%
+ - set PATH=%PATH%;C:\Users\appveyor\.cargo\bin
+ - rustc -Vv
+ - cargo -V
+
+# TODO This is the "test phase", tweak it as you see fit
+test_script:
+ # we don't run the "test phase" when doing deploys
+ - if [%APPVEYOR_REPO_TAG%]==[false] (
+ cargo build --target %TARGET% &&
+ cargo build --target %TARGET% --release &&
+ cargo test --target %TARGET% &&
+ cargo test --target %TARGET% --release &&
+ cargo run --target %TARGET% &&
+ cargo run --target %TARGET% --release
+ )
+
+before_deploy:
+ # TODO Update this to build the artifacts that matter to you
+ - cargo rustc --target %TARGET% --release --bin hello -- -C lto
+ - ps: ci\before_deploy.ps1
+
+deploy:
+ artifact: /.*\.zip/
+ # TODO update `auth_token.secure`
+ # - Create a `public_repo` GitHub token. Go to: https://github.com/settings/tokens/new
+ # - Encrypt it. Go to https://ci.appveyor.com/tools/encrypt
+ # - Paste the output down here
+ auth_token:
+ secure: t3puM/2hOig26EHhAodcZBc61NywF7/PFEpimR6SwGaCiqS07KR5i7iAhSABmBp7
+ description: ''
+ on:
+ # TODO Here you can pick which targets will generate binary releases
+ # In this example, there are some targets that are tested using the stable
+ # and nightly channels. This condition makes sure there is only one release
+ # for such targets and that's generated using the stable channel
+ RUST_VERSION: stable
+ appveyor_repo_tag: true
+ provider: GitHub
+
+cache:
+ - C:\Users\appveyor\.cargo\registry
+ - target
+
+branches:
+ only:
+ # Release tags
+ - /^v\d+\.\d+\.\d+.*$/
+ - master
+
+notifications:
+ - provider: Email
+ on_build_success: false
+
+# disable automatic builds
+build: false