@@ -6,103 +6,99 @@ cargo_cache:
6
6
# same VM. The binary will be built in 32-bit mode, but will execute on a
7
7
# 64-bit kernel and in a 64-bit environment. Our tests don't execute any of
8
8
# the system's binaries, so the environment shouldn't matter.
9
- # task:
10
- # name: FreeBSD amd64 & i686
11
- # freebsd_instance:
12
- # image: freebsd-11-4-release-amd64
13
- # setup_script:
14
- # - fetch https://sh.rustup.rs -o rustup.sh
15
- # - sh rustup.sh -y --profile=minimal --default-toolchain 1.36.0
16
- # - $HOME/.cargo/bin/rustup target add i686-unknown-freebsd
17
- # amd64_test_script:
18
- # - . $HOME/.cargo/env
19
- # - cargo test
20
- # i386_test_script:
21
- # - . $HOME/.cargo/env
22
- # - cargo test --target i686-unknown-freebsd
23
- # before_cache_script: rm -rf $CARGO_HOME/registry/index
9
+ task :
10
+ name : FreeBSD amd64 & i686
11
+ freebsd_instance :
12
+ image : freebsd-11-4-release-amd64
13
+ setup_script :
14
+ - fetch https://sh.rustup.rs -o rustup.sh
15
+ - sh rustup.sh -y --profile=minimal --default-toolchain 1.36.0
16
+ - $HOME/.cargo/bin/rustup target add i686-unknown-freebsd
17
+ amd64_test_script :
18
+ - . $HOME/.cargo/env
19
+ - cargo test
20
+ i386_test_script :
21
+ - . $HOME/.cargo/env
22
+ - cargo test --target i686-unknown-freebsd
23
+ before_cache_script : rm -rf $CARGO_HOME/registry/index
24
24
25
- # task:
26
- # matrix:
27
- # - name: OSX x86_64
28
- # env:
29
- # TARGET: x86_64-apple-darwin
30
- # - name: OSX i686
31
- # env:
32
- # TARGET: i686-apple-darwin
33
- # DISABLE_TESTS: 1
34
- # - name: iOS
35
- # env:
36
- # # To save VM startup time, test all iOS targets in a single task.
37
- # # The startup and scheduling time was very significant for Travis, but
38
- # # not known for Cirrus.
39
- # TARGET: "aarch64-apple-ios;armv7-apple-ios;armv7s-apple-ios;i386-apple-ios;x86_64-apple-ios"
40
- # DISABLE_TESTS: 1
41
- # osx_instance:
42
- # image: catalina-xcode
43
- # setup_script:
44
- # - curl --proto '=https' --tlsv1.2 -sSf -o rustup.sh https://sh.rustup.rs
45
- # - sh rustup.sh -y --profile=minimal --default-toolchain 1.36.0
46
- # - . $HOME/.cargo/env
47
- # - bash ci/install.sh
48
- # script:
49
- # - . $HOME/.cargo/env
50
- # - bash ci/script.sh
51
- # before_cache_script: rm -rf $CARGO_HOME/registry/index
25
+ task :
26
+ matrix :
27
+ - name : OSX x86_64
28
+ env :
29
+ TARGET : x86_64-apple-darwin
30
+ - name : OSX i686
31
+ env :
32
+ TARGET : i686-apple-darwin
33
+ DISABLE_TESTS : 1
34
+ - name : iOS
35
+ env :
36
+ # To save VM startup time, test all iOS targets in a single task.
37
+ # The startup and scheduling time was very significant for Travis, but
38
+ # not known for Cirrus.
39
+ TARGET : " aarch64-apple-ios;armv7-apple-ios;armv7s-apple-ios;i386-apple-ios;x86_64-apple-ios"
40
+ DISABLE_TESTS : 1
41
+ osx_instance :
42
+ image : catalina-xcode
43
+ setup_script :
44
+ - curl --proto '=https' --tlsv1.2 -sSf -o rustup.sh https://sh.rustup.rs
45
+ - sh rustup.sh -y --profile=minimal --default-toolchain 1.36.0
46
+ - . $HOME/.cargo/env
47
+ - bash ci/install.sh
48
+ script :
49
+ - . $HOME/.cargo/env
50
+ - bash ci/script.sh
51
+ before_cache_script : rm -rf $CARGO_HOME/registry/index
52
52
53
53
# Use cross for QEMU-based testing
54
54
# cross needs to execute Docker, so we must use Cirrus's Docker Builder task.
55
- # docker_builder:
56
- # env:
57
- # RUST_TEST_THREADS: 1 # QEMU works best with 1 thread
58
- # HOME: /tmp/home
59
- # PATH: $HOME/.cargo/bin:$PATH
60
- # #cpu: 1 docker_builder doesn't support "cpu"?
61
- # matrix:
62
- # - name: Linux aarch64
63
- # env:
64
- # TARGET: aarch64-unknown-linux-gnu
65
- # - name: Linux arm gnueabi
66
- # env:
67
- # TARGET: arm-unknown-linux-gnueabi
68
- # - name: Linux armv7 gnueabihf
69
- # env:
70
- # TARGET: armv7-unknown-linux-gnueabihf
71
- # - name: Linux i686
72
- # env:
73
- # TARGET: i686-unknown-linux-gnu
74
- # - name: Linux i686 musl
75
- # env:
76
- # TARGET: i686-unknown-linux-musl
77
- # - name: Linux MIPS
78
- # env:
79
- # TARGET: mips-unknown-linux-gnu
80
- # - name: Linux MIPS64
81
- # env:
82
- # TARGET: mips64-unknown-linux-gnuabi64
83
- # - name: Linux MIPS64 el
84
- # env:
85
- # TARGET: mips64el-unknown-linux-gnuabi64
86
- # - name: Linux mipsel
87
- # env:
88
- # TARGET: mipsel-unknown-linux-gnu
89
- # - name: Linux powerpc64le
90
- # env:
91
- # TARGET: powerpc64le-unknown-linux-gnu
92
- # setup_script:
93
- # - mkdir /tmp/home
94
- # - echo HOME is $HOME
95
- # - curl --proto '=https' --tlsv1.2 -sSf -o rustup.sh https://sh.rustup.rs
96
- # - sh rustup.sh -y --profile=minimal --default-toolchain 1.36.0
97
- # - echo CARGO_HOME is $CARGO_HOME
98
- # - ls -a $HOME
99
- # - ls -a $HOME/.cargo
100
- # - . $HOME/.cargo/env
101
- # - bash ci/install.sh
102
- # script:
103
- # - . $HOME/.cargo/env || true
104
- # - bash ci/script.sh
105
- # before_cache_script: rm -rf $CARGO_HOME/registry/index
55
+ docker_builder :
56
+ env :
57
+ RUST_TEST_THREADS : 1 # QEMU works best with 1 thread
58
+ HOME : /tmp/home
59
+ PATH : $HOME/.cargo/bin:$PATH
60
+ # cpu: 1 docker_builder doesn't support "cpu"?
61
+ matrix :
62
+ - name : Linux aarch64
63
+ env :
64
+ TARGET : aarch64-unknown-linux-gnu
65
+ - name : Linux arm gnueabi
66
+ env :
67
+ TARGET : arm-unknown-linux-gnueabi
68
+ - name : Linux armv7 gnueabihf
69
+ env :
70
+ TARGET : armv7-unknown-linux-gnueabihf
71
+ - name : Linux i686
72
+ env :
73
+ TARGET : i686-unknown-linux-gnu
74
+ - name : Linux i686 musl
75
+ env :
76
+ TARGET : i686-unknown-linux-musl
77
+ - name : Linux MIPS
78
+ env :
79
+ TARGET : mips-unknown-linux-gnu
80
+ - name : Linux MIPS64
81
+ env :
82
+ TARGET : mips64-unknown-linux-gnuabi64
83
+ - name : Linux MIPS64 el
84
+ env :
85
+ TARGET : mips64el-unknown-linux-gnuabi64
86
+ - name : Linux mipsel
87
+ env :
88
+ TARGET : mipsel-unknown-linux-gnu
89
+ - name : Linux powerpc64le
90
+ env :
91
+ TARGET : powerpc64le-unknown-linux-gnu
92
+ setup_script :
93
+ - mkdir /tmp/home
94
+ - curl --proto '=https' --tlsv1.2 -sSf -o rustup.sh https://sh.rustup.rs
95
+ - sh rustup.sh -y --profile=minimal --default-toolchain 1.36.0
96
+ - . $HOME/.cargo/env
97
+ - bash ci/install.sh
98
+ script :
99
+ - . $HOME/.cargo/env || true
100
+ - bash ci/script.sh
101
+ before_cache_script : rm -rf $CARGO_HOME/registry/index
106
102
107
103
# Tasks for Linux amd64 builds
108
104
task :
@@ -111,110 +107,100 @@ task:
111
107
env :
112
108
TARGET : x86_64-unknown-linux-gnu
113
109
TOOLCHAIN : stable
114
- # - name: Linux x86_64
115
- # env:
116
- # TARGET: x86_64-unknown-linux-gnu
117
- # TOOLCHAIN: 1.36.0
118
- # - name: Linux x86_64 musl
119
- # env:
120
- # TARGET: x86_64-unknown-linux-musl
121
- # TOOLCHAIN: 1.36.0
110
+ - name : Linux x86_64
111
+ env :
112
+ TARGET : x86_64-unknown-linux-gnu
113
+ TOOLCHAIN : 1.36.0
114
+ - name : Linux x86_64 musl
115
+ env :
116
+ TARGET : x86_64-unknown-linux-musl
117
+ TOOLCHAIN : 1.36.0
122
118
container :
123
119
image : rust:1.36
124
120
setup_script :
125
121
- rustup toolchain install $TOOLCHAIN
126
122
- rustup target add --toolchain $TOOLCHAIN $TARGET
127
- - id
128
- - wget https://github.com/strace/strace/releases/download/v5.9/strace-5.9.tar.xz
129
- - tar -xvf strace-5.9.tar.xz
130
- - cd strace-5.9
131
- - ./configure --enable-mpers=no
132
- - make -j2
133
- - make install
134
123
script :
135
- - df -h /tmp
136
- - mount
137
124
- cargo +$TOOLCHAIN build --target $TARGET --all-targets
138
- # - cargo +$TOOLCHAIN build --target $TARGET --release
139
- - strace -ftto /tmp/rust.strace target/x86_64-unknown-linux-gnu/debug/deps/test-952b42732b143187 || cat /tmp/rust.strace
125
+ - cargo +$TOOLCHAIN build --target $TARGET --all-targets --release
140
126
- cargo +$TOOLCHAIN test --target $TARGET
141
- # - cargo +$TOOLCHAIN test --target $TARGET --release
127
+ - cargo +$TOOLCHAIN test --target $TARGET --release
142
128
before_cache_script : rm -rf $CARGO_HOME/registry/index
143
129
144
130
# Tasks for cross-compiling, but no testing
145
- # task:
146
- # matrix:
147
- # - name: Android aarch64
148
- # env:
149
- # TARGET: aarch64-linux-android
150
- # - name: Android arm
151
- # env:
152
- # TARGET: arm-linux-androideabi
153
- # - name: Android armv7
154
- # env:
155
- # TARGET: armv7-linux-androideabi
156
- # - name: Android i686
157
- # env:
158
- # TARGET: i686-linux-android
159
- # - name: Android x86_64
160
- # env:
161
- # TARGET: x86_64-linux-android
162
- # - name: Linux arm-musleabi
163
- # env:
164
- # TARGET: arm-unknown-linux-musleabi
165
- # - name: Linux powerpc
166
- # env:
167
- # TARGET: powerpc-unknown-linux-gnu
168
- # - name: Linux s390x
169
- # env:
170
- # TARGET: s390x-unknown-linux-gnu
171
- # - name: Linux s390x
172
- # env:
173
- # TARGET: s390x-unknown-linux-gnu
174
- # - name: NetBSD x86_64
175
- # env:
176
- # TARGET: x86_64-unknown-netbsd
177
- # container:
178
- # image: rust:1.36
179
- # setup_script:
180
- # - rustup target add $TARGET
181
- # script:
182
- # - cargo +$TOOLCHAIN check --target $TARGET
183
- # - cargo +$TOOLCHAIN check --target $TARGET --release
184
- # # TODO: check the tests, too. The old Travis CI setup didn't do that, so
185
- # # they don't build on all platforms.
186
- # before_cache_script: rm -rf $CARGO_HOME/registry/index
131
+ task :
132
+ matrix :
133
+ - name : Android aarch64
134
+ env :
135
+ TARGET : aarch64-linux-android
136
+ - name : Android arm
137
+ env :
138
+ TARGET : arm-linux-androideabi
139
+ - name : Android armv7
140
+ env :
141
+ TARGET : armv7-linux-androideabi
142
+ - name : Android i686
143
+ env :
144
+ TARGET : i686-linux-android
145
+ - name : Android x86_64
146
+ env :
147
+ TARGET : x86_64-linux-android
148
+ - name : Linux arm-musleabi
149
+ env :
150
+ TARGET : arm-unknown-linux-musleabi
151
+ - name : Linux powerpc
152
+ env :
153
+ TARGET : powerpc-unknown-linux-gnu
154
+ - name : Linux s390x
155
+ env :
156
+ TARGET : s390x-unknown-linux-gnu
157
+ - name : Linux s390x
158
+ env :
159
+ TARGET : s390x-unknown-linux-gnu
160
+ - name : NetBSD x86_64
161
+ env :
162
+ TARGET : x86_64-unknown-netbsd
163
+ container :
164
+ image : rust:1.36
165
+ setup_script :
166
+ - rustup target add $TARGET
167
+ script :
168
+ - cargo +$TOOLCHAIN check --target $TARGET
169
+ - cargo +$TOOLCHAIN check --target $TARGET --release
170
+ # TODO: check the tests, too. The old Travis CI setup didn't do that, so
171
+ # they don't build on all platforms.
172
+ before_cache_script : rm -rf $CARGO_HOME/registry/index
187
173
188
174
# Redoxer is too unreliable, so we'll do a cross-build only
189
175
# See also:
190
176
# https://github.com/nix-rust/nix/issues/1258
191
177
# https://github.com/rust-embedded/cross/issues/427
192
- # task:
193
- # name: Redox x86_64
194
- # env:
195
- # TARGET: x86_64-unknown-redox
196
- # # Redox requires a nightly compiler.
197
- # # If stuff breaks, change nightly to the date in the toolchain_*
198
- # # directory at https://static.redox-os.org
199
- # TOOLCHAIN: nightly-2020-08-04
200
- # container:
201
- # image: rustlang/rust:nightly
202
- # setup_script:
203
- # - rustup toolchain install $TOOLCHAIN --profile minimal --target $TARGET
204
- # script:
205
- # - cargo +$TOOLCHAIN check --target $TARGET
206
- # - cargo +$TOOLCHAIN check --target $TARGET --release
207
- # before_cache_script: rm -rf $CARGO_HOME/registry/index
178
+ task :
179
+ name : Redox x86_64
180
+ env :
181
+ TARGET : x86_64-unknown-redox
182
+ # Redox requires a nightly compiler.
183
+ # If stuff breaks, change nightly to the date in the toolchain_*
184
+ # directory at https://static.redox-os.org
185
+ TOOLCHAIN : nightly-2020-08-04
186
+ container :
187
+ image : rustlang/rust:nightly
188
+ setup_script :
189
+ - rustup toolchain install $TOOLCHAIN --profile minimal --target $TARGET
190
+ script :
191
+ - cargo +$TOOLCHAIN check --target $TARGET
192
+ - cargo +$TOOLCHAIN check --target $TARGET --release
193
+ before_cache_script : rm -rf $CARGO_HOME/registry/index
208
194
209
195
# Test that we can build with the lowest version of all dependencies.
210
196
# "cargo test" doesn't work because some of our dev-dependencies, like
211
197
# rand, can't build with thier own minimal dependencies.
212
- # task:
213
- # name: Minver
214
- # container:
215
- # image: rustlang/rust:nightly
216
- # setup_script:
217
- # - cargo update -Zminimal-versions
218
- # script:
219
- # - cargo check
220
- # before_cache_script: rm -rf $CARGO_HOME/registry/index
198
+ task :
199
+ name : Minver
200
+ container :
201
+ image : rustlang/rust:nightly
202
+ setup_script :
203
+ - cargo update -Zminimal-versions
204
+ script :
205
+ - cargo check
206
+ before_cache_script : rm -rf $CARGO_HOME/registry/index
0 commit comments