4
4
- push
5
5
- pull_request
6
6
7
+ defaults :
8
+ run :
9
+ shell : bash
10
+
11
+ permissions : {}
12
+
13
+ env :
14
+ # Disabling incr comp reduces cache size and incr comp doesn't save as much
15
+ # on CI anyway.
16
+ CARGO_BUILD_INCREMENTAL : false
17
+ # Rust's CI denies warnings. Deny them here too to ensure subtree syncs don't
18
+ # fail because of warnings.
19
+ RUSTFLAGS : " -Dwarnings"
20
+
7
21
jobs :
8
22
rustfmt :
9
23
runs-on : ubuntu-latest
30
44
runs-on : ${{ matrix.os }}
31
45
timeout-minutes : 60
32
46
33
- defaults :
34
- run :
35
- shell : bash
47
+ env :
48
+ CG_CLIF_EXPENSIVE_CHECKS : 1
36
49
37
50
strategy :
38
51
fail-fast : false
@@ -48,15 +61,19 @@ jobs:
48
61
- os : ubuntu-latest
49
62
env :
50
63
TARGET_TRIPLE : x86_64-pc-windows-gnu
64
+ apt_deps : gcc-mingw-w64-x86-64 wine-stable
51
65
- os : ubuntu-latest
52
66
env :
53
67
TARGET_TRIPLE : aarch64-unknown-linux-gnu
68
+ apt_deps : gcc-aarch64-linux-gnu qemu-user
54
69
- os : ubuntu-latest
55
70
env :
56
71
TARGET_TRIPLE : s390x-unknown-linux-gnu
72
+ apt_deps : gcc-s390x-linux-gnu qemu-user
57
73
- os : ubuntu-latest
58
74
env :
59
75
TARGET_TRIPLE : riscv64gc-unknown-linux-gnu
76
+ apt_deps : gcc-riscv64-linux-gnu qemu-user
60
77
- os : windows-latest
61
78
env :
62
79
TARGET_TRIPLE : x86_64-pc-windows-msvc
@@ -81,29 +98,11 @@ jobs:
81
98
if : matrix.os == 'windows-latest' && matrix.env.TARGET_TRIPLE == 'x86_64-pc-windows-gnu'
82
99
run : rustup set default-host x86_64-pc-windows-gnu
83
100
84
- - name : Install MinGW toolchain and wine
85
- if : matrix.os == 'ubuntu-latest' && matrix.env.TARGET_TRIPLE == 'x86_64-pc-windows-gnu'
86
- run : |
87
- sudo apt-get update
88
- sudo apt-get install -y gcc-mingw-w64-x86-64 wine-stable
89
-
90
- - name : Install AArch64 toolchain and qemu
91
- if : matrix.os == 'ubuntu-latest' && matrix.env.TARGET_TRIPLE == 'aarch64-unknown-linux-gnu'
92
- run : |
93
- sudo apt-get update
94
- sudo apt-get install -y gcc-aarch64-linux-gnu qemu-user
95
-
96
- - name : Install s390x toolchain and qemu
97
- if : matrix.env.TARGET_TRIPLE == 's390x-unknown-linux-gnu'
101
+ - name : Install toolchain and emulator
102
+ if : matrix.apt_deps != null
98
103
run : |
99
104
sudo apt-get update
100
- sudo apt-get install -y gcc-s390x-linux-gnu qemu-user
101
-
102
- - name : Install riscv64gc toolchain and qemu
103
- if : matrix.env.TARGET_TRIPLE == 'riscv64gc-unknown-linux-gnu'
104
- run : |
105
- sudo apt-get update
106
- sudo apt-get install -y gcc-riscv64-linux-gnu qemu-user
105
+ sudo apt-get install -y ${{ matrix.apt_deps }}
107
106
108
107
- name : Prepare dependencies
109
108
run : ./y.sh prepare
@@ -143,10 +142,6 @@ jobs:
143
142
runs-on : ubuntu-latest
144
143
timeout-minutes : 60
145
144
146
- defaults :
147
- run :
148
- shell : bash
149
-
150
145
steps :
151
146
- uses : actions/checkout@v4
152
147
@@ -169,10 +164,6 @@ jobs:
169
164
runs-on : ubuntu-latest
170
165
timeout-minutes : 60
171
166
172
- defaults :
173
- run :
174
- shell : bash
175
-
176
167
steps :
177
168
- uses : actions/checkout@v4
178
169
@@ -194,20 +185,16 @@ jobs:
194
185
run : ./y.sh prepare
195
186
196
187
- name : Build
197
- run : CI_OPT=1 ./y.sh build --sysroot none
188
+ run : ./y.sh build --sysroot none
198
189
199
190
- name : Benchmark
200
- run : CI_OPT=1 ./y.sh bench
191
+ run : ./y.sh bench
201
192
202
193
203
194
dist :
204
195
runs-on : ${{ matrix.os }}
205
196
timeout-minutes : 60
206
197
207
- defaults :
208
- run :
209
- shell : bash
210
-
211
198
strategy :
212
199
fail-fast : false
213
200
matrix :
@@ -253,10 +240,10 @@ jobs:
253
240
run : ./y.sh prepare
254
241
255
242
- name : Build backend
256
- run : CI_OPT=1 ./y.sh build --sysroot none
243
+ run : ./y.sh build --sysroot none
257
244
258
245
- name : Build sysroot
259
- run : CI_OPT=1 ./y.sh build
246
+ run : ./y.sh build
260
247
261
248
- name : Package prebuilt cg_clif
262
249
run : tar cvfJ cg_clif.tar.xz dist
0 commit comments