mirror of
https://github.com/italicsjenga/rust_minifb.git
synced 2025-01-27 02:56:33 +11:00
Update appveyor.yml to use starkat99's version (#63)
This commit is contained in:
parent
3aaf613edd
commit
95d0e6f5e5
2 changed files with 33 additions and 96 deletions
63
appveyor.yml
63
appveyor.yml
|
@ -1,3 +1,6 @@
|
|||
# Appveyor configuration template for Rust using rustup for Rust installation
|
||||
# https://github.com/starkat99/appveyor-rust
|
||||
|
||||
## Operating System (VM environment) ##
|
||||
|
||||
# Rust needs at least Visual Studio 2013 Appveyor OS for MSVC targets.
|
||||
|
@ -10,6 +13,9 @@ os: Visual Studio 2015
|
|||
#
|
||||
# There are 3 channels: stable, beta, and nightly.
|
||||
#
|
||||
# Alternatively, the full version may be specified for the channel to build using that specific
|
||||
# version (e.g. channel: 1.5.0)
|
||||
#
|
||||
# The values for target are the set of windows Rust build targets. Each value is of the form
|
||||
#
|
||||
# ARCH-pc-windows-TOOLCHAIN
|
||||
|
@ -17,8 +23,15 @@ os: Visual Studio 2015
|
|||
# Where ARCH is the target architecture, either x86_64 or i686, and TOOLCHAIN is the linker
|
||||
# toolchain to use, either msvc or gnu. See https://www.rust-lang.org/downloads.html#win-foot for
|
||||
# a description of the toolchain differences.
|
||||
# See https://github.com/rust-lang-nursery/rustup.rs/#toolchain-specification for description of
|
||||
# toolchains and host triples.
|
||||
#
|
||||
# Comment out channel/target combos you do not wish to build in CI.
|
||||
#
|
||||
# You may use the `cargoflags` and `RUSTFLAGS` variables to set additional flags for cargo commands
|
||||
# and rustc, respectively. For instance, you can uncomment the cargoflags lines in the nightly
|
||||
# channels to enable unstable features when building for nightly. Or you could add additional
|
||||
# matrix entries to test different combinations of features.
|
||||
environment:
|
||||
matrix:
|
||||
|
||||
|
@ -39,9 +52,11 @@ environment:
|
|||
# Nightly 64-bit MSVC
|
||||
- channel: nightly
|
||||
target: x86_64-pc-windows-msvc
|
||||
#cargoflags: --features "unstable"
|
||||
# Nightly 32-bit MSVC
|
||||
- channel: nightly
|
||||
target: i686-pc-windows-msvc
|
||||
#cargoflags: --features "unstable"
|
||||
|
||||
### GNU Toolchains ###
|
||||
|
||||
|
@ -60,9 +75,11 @@ environment:
|
|||
# Nightly 64-bit GNU
|
||||
- channel: nightly
|
||||
target: x86_64-pc-windows-gnu
|
||||
#cargoflags: --features "unstable"
|
||||
# Nightly 32-bit GNU
|
||||
- channel: nightly
|
||||
target: i686-pc-windows-gnu
|
||||
#cargoflags: --features "unstable"
|
||||
|
||||
### Allowed failures ###
|
||||
|
||||
|
@ -76,43 +93,29 @@ matrix:
|
|||
# If you only care about stable channel build failures, uncomment the following line:
|
||||
#- channel: beta
|
||||
|
||||
# 32-bit MSVC isn't stablized yet, so you may optionally allow failures there (uncomment line):
|
||||
#- target: i686-pc-windows-msvc
|
||||
|
||||
## Install Script ##
|
||||
|
||||
# This is the most important part of the Appveyor configuration. This installs the version of Rust
|
||||
# specified by the 'channel' and 'target' environment variables from the build matrix. By default,
|
||||
# Rust will be installed to C:\Rust for easy usage, but this path can be overridden by setting the
|
||||
# RUST_INSTALL_DIR environment variable. The URL to download rust distributions defaults to
|
||||
# https://static.rust-lang.org/dist/ but can overridden by setting the RUST_DOWNLOAD_URL environment
|
||||
# variable.
|
||||
# specified by the 'channel' and 'target' environment variables from the build matrix. This uses
|
||||
# rustup to install Rust.
|
||||
#
|
||||
# For simple configurations, instead of using the build matrix, you can override the channel and
|
||||
# target environment variables with the -channel and -target script arguments.
|
||||
#
|
||||
# If no channel or target arguments or environment variables are specified, will default to stable
|
||||
# channel and x86_64-pc-windows-msvc target.
|
||||
#
|
||||
# The file appveyor_rust_install.ps1 must exist in the root directory of the repository.
|
||||
# For simple configurations, instead of using the build matrix, you can simply set the
|
||||
# default-toolchain and default-host manually here.
|
||||
install:
|
||||
- ps: .\appveyor_rust_install.ps1
|
||||
|
||||
# Alternative install command for simple configurations without build matrix (uncomment line and
|
||||
# comment above line):
|
||||
#- ps: .\appveyor_rust_install.ps1 -channel stable -target x86_64-pc-windows-msvc
|
||||
- appveyor DownloadFile https://win.rustup.rs/ -FileName rustup-init.exe
|
||||
- rustup-init -yv --default-toolchain %channel% --default-host %target%
|
||||
- set PATH=%PATH%;%USERPROFILE%\.cargo\bin
|
||||
- rustc -vV
|
||||
- cargo -vV
|
||||
|
||||
## Build Script ##
|
||||
|
||||
# Uses 'cargo build' to build. Alternatively, the project may call rustc directly or perform other
|
||||
# build commands. Rust will automatically be placed in the PATH environment variable.
|
||||
build_script:
|
||||
- cmd: cargo build --verbose
|
||||
# 'cargo test' takes care of building for us, so disable Appveyor's build stage. This prevents
|
||||
# the "directory does not contain a project or solution file" error.
|
||||
build: false
|
||||
|
||||
## Build Script ##
|
||||
|
||||
# Uses 'cargo test' to run tests. Alternatively, the project may call compiled programs directly or
|
||||
# perform other testing commands. Rust will automatically be placed in the PATH environment
|
||||
# variable.
|
||||
# Uses 'cargo test' to run tests and build. Alternatively, the project may call compiled programs
|
||||
#directly or perform other testing commands. Rust will automatically be placed in the PATH
|
||||
# environment variable.
|
||||
test_script:
|
||||
- cmd: cargo test --verbose
|
||||
- cargo test --verbose %cargoflags%
|
||||
|
|
|
@ -1,66 +0,0 @@
|
|||
##### Appveyor Rust Install Script #####
|
||||
|
||||
# This is the most important part of the Appveyor configuration. This installs the version of Rust
|
||||
# specified by the "channel" and "target" environment variables from the build matrix. By default,
|
||||
# Rust will be installed to C:\Rust for easy usage, but this path can be overridden by setting the
|
||||
# RUST_INSTALL_DIR environment variable. The URL to download rust distributions defaults to
|
||||
# https://static.rust-lang.org/dist/ but can overridden by setting the RUST_DOWNLOAD_URL environment
|
||||
# variable.
|
||||
#
|
||||
# For simple configurations, instead of using the build matrix, you can override the channel and
|
||||
# target environment variables with the --channel and --target script arguments.
|
||||
#
|
||||
# If no channel or target arguments or environment variables are specified, will default to stable
|
||||
# channel and x86_64-pc-windows-msvc target.
|
||||
|
||||
param([string]$channel=${env:channel}, [string]$target=${env:target})
|
||||
|
||||
# Initialize our parameters from arguments and environment variables, falling back to defaults
|
||||
if (!$channel) {
|
||||
$channel = "stable"
|
||||
}
|
||||
if (!$target) {
|
||||
$target = "x86_64-pc-windows-msvc"
|
||||
}
|
||||
|
||||
$downloadUrl = "https://static.rust-lang.org/dist/"
|
||||
if ($env:RUST_DOWNLOAD_URL) {
|
||||
$downloadUrl = $env:RUST_DOWNLOAD_URL
|
||||
}
|
||||
|
||||
$installDir = "C:\Rust"
|
||||
if ($env:RUST_INSTALL_DIR) {
|
||||
$installUrl = $env:RUST_INSTALL_DIR
|
||||
}
|
||||
|
||||
# Download manifest so we can find actual filename of installer to download. Needed mostly for
|
||||
# stable channel.
|
||||
echo "Downloading $channel channel manifest"
|
||||
$manifest = "${env:Temp}\channel-rust-${channel}"
|
||||
Start-FileDownload "${downloadUrl}channel-rust-${channel}" -FileName "$manifest"
|
||||
|
||||
# Search the manifest lines for the correct filename based on target
|
||||
$match = Get-Content "$manifest" | Select-String -pattern "${target}.exe" -simplematch
|
||||
|
||||
if (!$match -or !$match.line) {
|
||||
throw "Could not find $target in $channel channel manifest"
|
||||
}
|
||||
|
||||
$installer = $match.line
|
||||
|
||||
# Download installer
|
||||
echo "Downloading ${downloadUrl}$installer"
|
||||
Start-FileDownload "${downloadUrl}$installer" -FileName "${env:Temp}\$installer"
|
||||
|
||||
# Execute installer and wait for it to finish
|
||||
echo "Installing $installer to $installDir"
|
||||
&"${env:Temp}\$installer" /VERYSILENT /NORESTART /DIR="$installDir" | Write-Output
|
||||
|
||||
# Add Rust to the path.
|
||||
$env:Path += ";${installDir}\bin;C:\MinGW\bin"
|
||||
|
||||
echo "Installation of $channel Rust $target completed"
|
||||
|
||||
# Test and display installed version information for rustc and cargo
|
||||
rustc -V
|
||||
cargo -V
|
Loading…
Add table
Reference in a new issue