@@ -2,38 +2,103 @@ name: CI
2
2
on : [push, pull_request]
3
3
4
4
env :
5
+ CARGO_TERM_VERBOSE : true
5
6
RUSTDOCFLAGS : -Dwarnings
6
7
RUSTFLAGS : -Dwarnings
8
+ RUST_BACKTRACE : full
7
9
8
10
jobs :
9
- docker :
11
+ test :
10
12
name : Docker
11
- runs-on : ubuntu-latest
13
+ timeout-minutes : 20
12
14
strategy :
15
+ fail-fast : false
13
16
matrix :
14
- target :
15
- - aarch64-unknown-linux-gnu
16
- - arm-unknown-linux-gnueabi
17
- - arm-unknown-linux-gnueabihf
18
- - armv7-unknown-linux-gnueabihf
19
- # - i686-unknown-linux-gnu
20
- # MIPS targets disabled since they are dropped to tier 3.
21
- # See https://github.com/rust-lang/compiler-team/issues/648
22
- # - mips-unknown-linux-gnu
23
- # - mips64-unknown-linux-gnuabi64
24
- # - mips64el-unknown-linux-gnuabi64
25
- - powerpc-unknown-linux-gnu
26
- - powerpc64-unknown-linux-gnu
27
- - powerpc64le-unknown-linux-gnu
28
- - x86_64-unknown-linux-gnu
17
+ include :
18
+ - target : aarch64-apple-darwin
19
+ os : macos-latest
20
+ - target : aarch64-unknown-linux-gnu
21
+ os : ubuntu-latest
22
+ - target : aarch64-pc-windows-msvc
23
+ os : windows-latest
24
+ build_only : 1 # Can't run on x86 hosts
25
+ - target : arm-unknown-linux-gnueabi
26
+ os : ubuntu-latest
27
+ - target : arm-unknown-linux-gnueabihf
28
+ os : ubuntu-latest
29
+ - target : armv7-unknown-linux-gnueabihf
30
+ os : ubuntu-latest
31
+ - target : i586-unknown-linux-gnu
32
+ os : ubuntu-latest
33
+ - target : i686-unknown-linux-gnu
34
+ os : ubuntu-latest
35
+ - target : powerpc-unknown-linux-gnu
36
+ os : ubuntu-latest
37
+ - target : powerpc64-unknown-linux-gnu
38
+ os : ubuntu-latest
39
+ - target : powerpc64le-unknown-linux-gnu
40
+ os : ubuntu-latest
41
+ - target : riscv64gc-unknown-linux-gnu
42
+ os : ubuntu-latest
43
+ - target : thumbv6m-none-eabi
44
+ os : ubuntu-latest
45
+ - target : thumbv7em-none-eabi
46
+ os : ubuntu-latest
47
+ - target : thumbv7em-none-eabihf
48
+ os : ubuntu-latest
49
+ - target : thumbv7m-none-eabi
50
+ os : ubuntu-latest
51
+ - target : x86_64-unknown-linux-gnu
52
+ os : ubuntu-latest
53
+ - target : x86_64-apple-darwin
54
+ os : macos-13
55
+ - target : i686-pc-windows-msvc
56
+ os : windows-latest
57
+ - target : x86_64-pc-windows-msvc
58
+ os : windows-latest
59
+ - target : i686-pc-windows-gnu
60
+ os : windows-latest
61
+ channel : nightly-i686-gnu
62
+ - target : x86_64-pc-windows-gnu
63
+ os : windows-latest
64
+ channel : nightly-x86_64-gnu
65
+ runs-on : ${{ matrix.os }}
66
+ env :
67
+ BUILD_ONLY : ${{ matrix.build_only }}
29
68
steps :
30
- - uses : actions/checkout@master
31
- - name : Install Rust
32
- run : rustup update nightly --no-self-update && rustup default nightly
33
- - run : rustup target add ${{ matrix.target }}
34
- - run : rustup target add x86_64-unknown-linux-musl
35
- - run : cargo generate-lockfile
36
- - run : ./ci/run-docker.sh ${{ matrix.target }}
69
+ - name : Print runner information
70
+ run : uname -a
71
+ - uses : actions/checkout@v4
72
+ - name : Install Rust (rustup)
73
+ shell : bash
74
+ run : |
75
+ channel="nightly"
76
+ # Account for channels that have required components (MinGW)
77
+ [ -n "${{ matrix.channel }}" ] && channel="${{ matrix.channel }}"
78
+ rustup update "$channel" --no-self-update
79
+ rustup default "$channel"
80
+ rustup target add ${{ matrix.target }}
81
+ rustup component add llvm-tools-preview
82
+ - uses : Swatinem/rust-cache@v2
83
+ with :
84
+ key : ${{ matrix.target }}
85
+
86
+ - name : Download musl source
87
+ run : ./ci/download-musl.sh
88
+ shell : bash
89
+
90
+ # Non-linux tests just use our raw script
91
+ - name : Run locally
92
+ if : matrix.os != 'ubuntu-latest'
93
+ shell : bash
94
+ run : ./ci/run.sh ${{ matrix.target }}
95
+
96
+ # Otherwise we use our docker containers to run builds
97
+ - name : Run in Docker
98
+ if : matrix.os == 'ubuntu-latest'
99
+ run : |
100
+ rustup target add x86_64-unknown-linux-musl
101
+ cargo generate-lockfile && ./ci/run-docker.sh ${{ matrix.target }}
37
102
38
103
wasm :
39
104
name : WebAssembly
45
110
- run : rustup target add wasm32-unknown-unknown
46
111
- run : cargo build --target wasm32-unknown-unknown
47
112
48
- cb :
113
+ builtins :
49
114
name : " The compiler-builtins crate works"
50
115
runs-on : ubuntu-latest
51
116
steps :
61
126
- uses : actions/checkout@master
62
127
- name : Install Rust
63
128
run : rustup update nightly --no-self-update && rustup default nightly
129
+ - name : Download musl source
130
+ run : ./ci/download-musl.sh
64
131
- run : cargo bench --all
65
132
66
133
msrv :
92
159
93
160
success :
94
161
needs :
95
- - docker
162
+ - test
96
163
- wasm
97
- - cb
164
+ - builtins
98
165
- benchmarks
99
166
- msrv
100
167
- rustfmt
0 commit comments