5
5
branches :
6
6
- master
7
7
paths-ignore :
8
- - ' *.mkd'
9
- - ' LICENSE'
8
+ - " *.mkd"
9
+ - " LICENSE"
10
10
pull_request :
11
11
types : [opened, reopened, synchronize]
12
12
workflow_dispatch :
20
20
matrix :
21
21
rust_toolchain : [nightly, stable, 1.63.0]
22
22
os : [ubuntu-latest, windows-latest, macOS-latest]
23
- mode : [' --release', ' -Zminimal-versions', '' ]
24
- manifest : [' psm/Cargo.toml', ' Cargo.toml' ]
23
+ mode : [" --release", " -Zminimal-versions", "" ]
24
+ manifest : [" psm/Cargo.toml", " Cargo.toml" ]
25
25
exclude :
26
26
- rust_toolchain : stable
27
27
mode : -Zminimal-versions
53
53
strategy :
54
54
fail-fast : false
55
55
matrix :
56
- manifest : [' psm/Cargo.toml', ' Cargo.toml' ]
56
+ manifest : [" psm/Cargo.toml", " Cargo.toml" ]
57
57
rust_target :
58
58
- x86_64-pc-windows-msvc
59
59
- i686-pc-windows-msvc
93
93
rust_target :
94
94
- x86_64-pc-windows-gnu
95
95
- i686-pc-windows-gnu
96
- manifest : [' psm/Cargo.toml', ' Cargo.toml' ]
96
+ manifest : [" psm/Cargo.toml", " Cargo.toml" ]
97
97
include :
98
98
- rust_target : x86_64-pc-windows-gnu
99
99
mingw_path : C:/msys64/mingw64/bin
@@ -121,6 +121,42 @@ jobs:
121
121
command : test
122
122
args : --target ${{ matrix.rust_target }} --manifest-path=${{ matrix.manifest }}
123
123
124
+ cross-windows-gnullvm-check :
125
+ name : Check ${{ matrix.manifest }} to ${{ matrix.rust_target }} with stable
126
+ runs-on : ubuntu-latest
127
+ env :
128
+ LLVM_MINGW_VERSION : " 20241030"
129
+ strategy :
130
+ fail-fast : false
131
+ matrix :
132
+ rust_target :
133
+ - aarch64-pc-windows-gnullvm
134
+ - i686-pc-windows-gnullvm
135
+ - x86_64-pc-windows-gnullvm
136
+ manifest : ["psm/Cargo.toml", "Cargo.toml"]
137
+ steps :
138
+ - uses : actions/checkout@v2
139
+ - uses : actions/cache@v2
140
+ with :
141
+ path : llvm-mingw-version
142
+ key : ${{ env.LLVM_MINGW_VERSION }}
143
+ - name : Install llvm-mingw
144
+ if : steps.cache.outputs.cache-hit != 'true'
145
+ run : curl -L https://github.com/mstorsjo/llvm-mingw/releases/download/${{ env.LLVM_MINGW_VERSION }}/llvm-mingw-${{ env.LLVM_MINGW_VERSION }}-ucrt-ubuntu-20.04-x86_64.tar.xz | tar xJf -
146
+ - name : Add llvm-mingw to PATH
147
+ run : echo "${{ github.workspace }}/llvm-mingw-${{ env.LLVM_MINGW_VERSION }}-ucrt-ubuntu-20.04-x86_64/bin" >> $GITHUB_PATH
148
+ - name : Install Rust
149
+ uses : actions-rs/toolchain@v1
150
+ with :
151
+ toolchain : stable
152
+ profile : minimal
153
+ target : ${{ matrix.rust_target }}
154
+ - name : Check
155
+ uses : actions-rs/cargo@v1
156
+ with :
157
+ command : check
158
+ args : --target ${{ matrix.rust_target }} --manifest-path=${{ matrix.manifest }}
159
+
124
160
cross-linux-test :
125
161
name : Test ${{ matrix.manifest }} on ${{ matrix.rust_target }} with nightly ${{ matrix.mode }}
126
162
runs-on : ubuntu-latest
@@ -147,8 +183,8 @@ jobs:
147
183
# https://github.com/rust-embedded/cross/pull/440
148
184
# - powerpc64-unknown-linux-gnu
149
185
- x86_64-unknown-linux-musl
150
- manifest : [' psm/Cargo.toml', ' Cargo.toml' ]
151
- mode : [' --release', ' -Zminimal-versions', '' ]
186
+ manifest : [" psm/Cargo.toml", " Cargo.toml" ]
187
+ mode : [" --release", " -Zminimal-versions", "" ]
152
188
timeout-minutes : 10
153
189
steps :
154
190
- uses : actions/checkout@v2
@@ -176,7 +212,7 @@ jobs:
176
212
# BSDs: could be tested with full system emulation
177
213
- i686-unknown-freebsd
178
214
- x86_64-unknown-freebsd
179
- manifest : [' psm/Cargo.toml', ' Cargo.toml' ]
215
+ manifest : [" psm/Cargo.toml", " Cargo.toml" ]
180
216
timeout-minutes : 10
181
217
steps :
182
218
- uses : actions/checkout@v2
@@ -215,7 +251,7 @@ jobs:
215
251
# - sparc64-unknown-linux-gnu
216
252
# BSDs: could be tested with full system emulation
217
253
- x86_64-unknown-netbsd
218
- manifest : [' psm/Cargo.toml', ' Cargo.toml' ]
254
+ manifest : [" psm/Cargo.toml", " Cargo.toml" ]
219
255
timeout-minutes : 10
220
256
steps :
221
257
- uses : actions/checkout@v2
@@ -243,7 +279,7 @@ jobs:
243
279
rust_target :
244
280
- aarch64-apple-ios
245
281
- x86_64-apple-ios
246
- manifest : [' psm/Cargo.toml', ' Cargo.toml' ]
282
+ manifest : [" psm/Cargo.toml", " Cargo.toml" ]
247
283
timeout-minutes : 10
248
284
steps :
249
285
- uses : actions/checkout@v2
@@ -269,8 +305,8 @@ jobs:
269
305
rust_target :
270
306
- x86_64-pc-windows-msvc
271
307
- i686-pc-windows-msvc
272
- manifest : [' psm/Cargo.toml', ' Cargo.toml' ]
273
- xwin_version : [' 0.1.6' ]
308
+ manifest : [" psm/Cargo.toml", " Cargo.toml" ]
309
+ xwin_version : [" 0.1.6" ]
274
310
timeout-minutes : 10
275
311
steps :
276
312
- uses : actions/checkout@v2
@@ -299,17 +335,17 @@ jobs:
299
335
xwin --accept-license 1 splat --output /tmp/xwin
300
336
- name : Test
301
337
env :
302
- CC : ' clang-cl'
303
- CXX : ' clang-cl'
304
- AR : ' llvm-lib'
305
- CARGO_TARGET_X86_64_PC_WINDOWS_MSVC_LINKER : ' lld-link'
306
- CARGO_TARGET_I686_PC_WINDOWS_MSVC_LINKER : ' lld-link'
338
+ CC : " clang-cl"
339
+ CXX : " clang-cl"
340
+ AR : " llvm-lib"
341
+ CARGO_TARGET_X86_64_PC_WINDOWS_MSVC_LINKER : " lld-link"
342
+ CARGO_TARGET_I686_PC_WINDOWS_MSVC_LINKER : " lld-link"
307
343
# Note that we only disable unused-command-line-argument here since clang-cl
308
344
# doesn't implement all of the options supported by cl, but the ones it doesn't
309
345
# are _generally_ not interesting.
310
- CFLAGS : ' -Wno-unused-command-line-argument -fuse-ld=lld-link /imsvc/tmp/xwin/crt/include /imsvc/tmp/xwin/sdk/include/ucrt /imsvc/tmp/xwin/sdk/include/um /imsvc/tmp/xwin/sdk/include/shared'
346
+ CFLAGS : " -Wno-unused-command-line-argument -fuse-ld=lld-link /imsvc/tmp/xwin/crt/include /imsvc/tmp/xwin/sdk/include/ucrt /imsvc/tmp/xwin/sdk/include/um /imsvc/tmp/xwin/sdk/include/shared"
311
347
# Inform the linker where to search for libraries
312
- RUSTFLAGS : ' -Lnative=/tmp/xwin/crt/lib/x86_64 -Lnative=/tmp/xwin/sdk/lib/um/x86_64 -Lnative=/tmp/xwin/sdk/lib/ucrt/x86_64'
348
+ RUSTFLAGS : " -Lnative=/tmp/xwin/crt/lib/x86_64 -Lnative=/tmp/xwin/sdk/lib/um/x86_64 -Lnative=/tmp/xwin/sdk/lib/ucrt/x86_64"
313
349
run : |
314
350
set -eux
315
351
cargo build --target ${{ matrix.rust_target }} --manifest-path ${{ matrix.manifest }}
0 commit comments