1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
## Operating System (VM environment) ##
# Rust needs at least Visual Studio 2013 Appveyor OS for MSVC targets.
os: Visual Studio 2017
## Build Matrix ##
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
### MSVC Toolchains ###
matrix:
# MSVC
- TARGET: x86_64-pc-windows-msvc
# Testing other channels
- TARGET: x86_64-pc-windows-msvc
RUST_VERSION: nightly
# MSVC
- TARGET: x86_64-pc-windows-msvc
RELEASE: --release
# Testing other channels
- TARGET: x86_64-pc-windows-msvc
RUST_VERSION: nightly
RELEASE: --release
### Allowed failures ###
# See Appveyor documentation for specific details. In short, place any channel or targets you wish
# to allow build failures on (usually nightly at least is a wise choice). This will prevent a build
# or test failure in the matching channels/targets from failing the entire build.
matrix:
allow_failures:
- RUST_VERSION: nightly
## Install Script ##
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
- git submodule update --init
## 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:
- echo %RELEASE%
- cmd: cargo build --verbose %RELEASE% --features=profiling_enabled
## 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.
test_script:
- cmd: cargo test --verbose %RELEASE% --features=profiling_enabled,generate_bindings
- cmd: cargo test --verbose %RELEASE% --features=generate_bindings
# Only build against the branches that will have pull requests built against them (master).
# Otherwise creating feature branches on this repository and a pull requests against them will
# cause each commit to be tested twice, once for the branch and once for the pull request.
branches:
only:
- master