summaryrefslogtreecommitdiff
path: root/cc/appveyor.yml
diff options
context:
space:
mode:
Diffstat (limited to 'cc/appveyor.yml')
-rw-r--r--cc/appveyor.yml55
1 files changed, 55 insertions, 0 deletions
diff --git a/cc/appveyor.yml b/cc/appveyor.yml
new file mode 100644
index 0000000..5e563db
--- /dev/null
+++ b/cc/appveyor.yml
@@ -0,0 +1,55 @@
+environment:
+
+ # At the time this was added AppVeyor was having troubles with checking
+ # revocation of SSL certificates of sites like static.rust-lang.org and what
+ # we think is crates.io. The libcurl HTTP client by default checks for
+ # revocation on Windows and according to a mailing list [1] this can be
+ # disabled.
+ #
+ # The `CARGO_HTTP_CHECK_REVOKE` env var here tells cargo to disable SSL
+ # revocation checking on Windows in libcurl. Note, though, that rustup, which
+ # we're using to download Rust here, also uses libcurl as the default backend.
+ # Unlike Cargo, however, rustup doesn't have a mechanism to disable revocation
+ # checking. To get rustup working we set `RUSTUP_USE_HYPER` which forces it to
+ # use the Hyper instead of libcurl backend. Both Hyper and libcurl use
+ # schannel on Windows but it appears that Hyper configures it slightly
+ # differently such that revocation checking isn't turned on by default.
+ #
+ # [1]: https://curl.haxx.se/mail/lib-2016-03/0202.html
+ RUSTUP_USE_HYPER: 1
+ CARGO_HTTP_CHECK_REVOKE: false
+
+ matrix:
+ - TARGET: x86_64-pc-windows-msvc
+ ARCH: amd64
+ VS: C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat
+ - TARGET: x86_64-pc-windows-msvc
+ ARCH: amd64
+ VS: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat
+ - TARGET: i686-pc-windows-msvc
+ ARCH: x86
+ VS: C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat
+ - TARGET: i686-pc-windows-msvc
+ ARCH: x86
+ VS: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat
+ - TARGET: x86_64-pc-windows-gnu
+ MSYS_BITS: 64
+ - TARGET: i686-pc-windows-gnu
+ MSYS_BITS: 32
+install:
+ - ps: Start-FileDownload "https://static.rust-lang.org/dist/rust-nightly-${env:TARGET}.exe"
+ - rust-nightly-%TARGET%.exe /VERYSILENT /NORESTART /DIR="C:\Program Files (x86)\Rust"
+ - if defined VS call "%VS%" %ARCH%
+ - set PATH=%PATH%;C:\Program Files (x86)\Rust\bin
+ - if defined MSYS_BITS set PATH=%PATH%;C:\msys64\mingw%MSYS_BITS%\bin
+ - rustc -V
+ - cargo -V
+
+build: false
+
+test_script:
+ - cargo test --target %TARGET%
+ - cargo test --features parallel --target %TARGET%
+ - cargo test --manifest-path cc-test/Cargo.toml --target %TARGET%
+ - cargo test --manifest-path cc-test/Cargo.toml --features parallel --target %TARGET%
+ - cargo test --manifest-path cc-test/Cargo.toml --release --target %TARGET%