+build: off # No Visual Studio auto-build.
environment:
- global:
- PROJECT_NAME: miri
- matrix:
- - TARGET: x86_64-pc-windows-msvc
- - TARGET: i686-pc-windows-msvc
+ global:
+ PROJECT_NAME: miri
+ matrix:
+ - TARGET: i686-pc-windows-msvc
+matrix:
+ fast_finish: true # Immediately finish build once one of the jobs fails.
+cache:
+- '%USERPROFILE%\.cargo'
+- '%USERPROFILE%\.rustup'
# branches to build
branches:
# whitelist
only:
- - auto
- - try
-
-matrix:
- fast_finish: true # set this flag to immediately finish build once one of the jobs fails.
-
-cache:
- - '%USERPROFILE%\.cargo'
- - '%USERPROFILE%\.rustup'
+ - auto
+ - try
install:
- # Compute the rust version we use
- - set /p RUSTC_HASH=<rust-version
- # Install Rust
- - curl -sSf --retry 3 -o rustup-init.exe https://win.rustup.rs/
- - rustup-init.exe -y --default-host %TARGET% --default-toolchain stable --profile minimal
- - set PATH=%USERPROFILE%\.cargo\bin;%PATH%
- - rustup default stable
- - rustup uninstall beta
- - rustup component remove rust-docs & exit 0
- - rustup update
- # Install "master" toolchain
- - cargo install rustup-toolchain-install-master -f
- - rustup-toolchain-install-master -f -n master %RUSTC_HASH% -c rust-src -c rustc-dev
- - rustup default master
- - rustc --version
- - cargo --version
-
-build_script:
- - set RUSTFLAGS=-C debug-assertions
- # Build and install miri
- - cargo build --release --all-features --all-targets --locked
- - cargo install --all-features --force --path . --locked --offline
- # Get ourselves a MIR-full libstd, and use it henceforth
- - cargo miri setup
- - set MIRI_SYSROOT=%USERPROFILE%\AppData\Local\rust-lang\miri\cache\HOST
+# Compute the Rust version we use.
+- set /p RUSTC_HASH=<rust-version
+# Install Rust. We use the "stable" toolchain for better caching, it is just used to build `rustup-toolchain-install-master`.
+# But we also need to take into account that the build cache might have a different, outdated default.
+- curl -sSf --retry 3 -o rustup-init.exe https://win.rustup.rs/
+- rustup-init.exe -y --default-host %TARGET% --default-toolchain none --profile minimal
+- set PATH=%USERPROFILE%\.cargo\bin;%PATH%
+- rustup default stable
+- rustup toolchain uninstall beta nightly
+- rustup update
+# Install "master" toolchain.
+- cargo install rustup-toolchain-install-master
+- rustup-toolchain-install-master -f -n master %RUSTC_HASH% -c rust-src -c rustc-dev -c llvm-tools
+- rustup default master
+- rustc --version
+- cargo --version
test_script:
- - set RUST_TEST_NOCAPTURE=1
- - set RUST_BACKTRACE=1
- # Test miri
- - cargo test --release --all-features --locked
- # Test cargo integration
- - cd test-cargo-miri
- - '"C:\msys64\mingw64\bin\python3.exe" run-test.py'
+- set PYTHON=C:\msys64\mingw64\bin\python3.exe
+- bash ci.sh
after_test:
- # Don't cache "master" toolchain, it's a waste
- - rustup default stable
- - rustup toolchain uninstall master
+# Don't cache "master" toolchain, it's a waste.
+- rustup default stable
+- rustup toolchain uninstall master
notifications:
- - provider: Email
- on_build_success: false
+- provider: Email
+ on_build_success: false