1
+ # Appveyor configuration template for Rust using rustup for Rust installation
2
+ # https://github.com/starkat99/appveyor-rust
3
+
4
+ # # Operating System (VM environment) ##
5
+
6
+ # Rust needs at least Visual Studio 2013 Appveyor OS for MSVC targets.
7
+ os : Visual Studio 2017
8
+
9
+ # # Build Matrix ##
10
+
11
+ # This configuration will setup a build for each channel & target combination (12 windows
12
+ # combinations in all).
13
+ #
14
+ # There are 3 channels: stable, beta, and nightly.
15
+ #
16
+ # Alternatively, the full version may be specified for the channel to build using that specific
17
+ # version (e.g. channel: 1.5.0)
18
+ #
19
+ # The values for target are the set of windows Rust build targets. Each value is of the form
20
+ #
21
+ # ARCH-pc-windows-TOOLCHAIN
22
+ #
23
+ # Where ARCH is the target architecture, either x86_64 or i686, and TOOLCHAIN is the linker
24
+ # toolchain to use, either msvc or gnu. See https://www.rust-lang.org/downloads.html#win-foot for
25
+ # a description of the toolchain differences.
26
+ # See https://github.com/rust-lang-nursery/rustup.rs/#toolchain-specification for description of
27
+ # toolchains and host triples.
28
+ #
29
+ # Comment out channel/target combos you do not wish to build in CI.
30
+ #
31
+ # You may use the `cargoflags` and `RUSTFLAGS` variables to set additional flags for cargo commands
32
+ # and rustc, respectively. For instance, you can uncomment the cargoflags lines in the nightly
33
+ # channels to enable unstable features when building for nightly. Or you could add additional
34
+ # matrix entries to test different combinations of features.
35
+ environment :
36
+ matrix :
37
+ # ## MSVC Toolchains ###
38
+
39
+ # Stable 64-bit MSVC
40
+ - channel : stable
41
+ target : x86_64-pc-windows-msvc
42
+ # Stable 32-bit MSVC
43
+ - channel : stable
44
+ target : i686-pc-windows-msvc
45
+ # Beta 64-bit MSVC
46
+ - channel : beta
47
+ target : x86_64-pc-windows-msvc
48
+ # Beta 32-bit MSVC
49
+ - channel : beta
50
+ target : i686-pc-windows-msvc
51
+ # Nightly 64-bit MSVC
52
+ - channel : nightly
53
+ target : x86_64-pc-windows-msvc
54
+ # cargoflags: --features "unstable"
55
+ # Nightly 32-bit MSVC
56
+ - channel : nightly
57
+ target : i686-pc-windows-msvc
58
+ # cargoflags: --features "unstable"
59
+
60
+ # ## GNU Toolchains ###
61
+
62
+ # Stable 64-bit GNU
63
+ - channel : stable
64
+ target : x86_64-pc-windows-gnu
65
+ # Stable 32-bit GNU
66
+ - channel : stable
67
+ target : i686-pc-windows-gnu
68
+ # Beta 64-bit GNU
69
+ - channel : beta
70
+ target : x86_64-pc-windows-gnu
71
+ # Beta 32-bit GNU
72
+ - channel : beta
73
+ target : i686-pc-windows-gnu
74
+ # Nightly 64-bit GNU
75
+ - channel : nightly
76
+ target : x86_64-pc-windows-gnu
77
+ # cargoflags: --features "unstable"
78
+ # Nightly 32-bit GNU
79
+ - channel : nightly
80
+ target : i686-pc-windows-gnu
81
+ # cargoflags: --features "unstable"
82
+
83
+ # ## Allowed failures ###
84
+
85
+ # See Appveyor documentation for specific details. In short, place any channel or targets you wish
86
+ # to allow build failures on (usually nightly at least is a wise choice). This will prevent a build
87
+ # or test failure in the matching channels/targets from failing the entire build.
88
+ matrix :
89
+ allow_failures :
90
+ - channel : nightly
91
+
92
+ # If you only care about stable channel build failures, uncomment the following line:
93
+ # - channel: beta
94
+
95
+ # # Install Script ##
96
+
97
+ # This is the most important part of the Appveyor configuration. This installs the version of Rust
98
+ # specified by the 'channel' and 'target' environment variables from the build matrix. This uses
99
+ # rustup to install Rust.
100
+ #
101
+ # For simple configurations, instead of using the build matrix, you can simply set the
102
+ # default-toolchain and default-host manually here.
103
+ install :
104
+ - appveyor DownloadFile https://win.rustup.rs/ -FileName rustup-init.exe
105
+ - rustup-init -yv --default-toolchain %channel% --default-host %target%
106
+ - set PATH=%PATH%;%USERPROFILE%\.cargo\bin
107
+ - rustc -vV
108
+ - cargo -vV
109
+ - appveyor DownloadFile "https://www.dropbox.com/s/u95zxj32djtc2b5/x86_64-7.3.0-release-win32-seh-rt_v5-rev0.7z?dl=1" -FileName x86_64-7.3.0-release-win32-seh-rt_v5-rev0.7z
110
+ - 7z x -y x86_64-7.3.0-release-win32-seh-rt_v5-rev0.7z > nul
111
+ - set PATH=%cd%\mingw64\bin;%PATH%
112
+ - gcc --version
113
+
114
+ # # Build Script ##
115
+
116
+ # 'cargo test' takes care of building for us, so disable Appveyor's build stage. This prevents
117
+ # the "directory does not contain a project or solution file" error.
118
+ build : false
119
+
120
+ # Uses 'cargo test' to run tests and build. Alternatively, the project may call compiled programs
121
+ # directly or perform other testing commands. Rust will automatically be placed in the PATH
122
+ # environment variable.
123
+ test_script :
124
+ - cargo test --verbose %cargoflags%
0 commit comments