Skip to content

Commit bcb0052

Browse files
committed
CI: split x86_64-mingw job
1 parent c1cfab2 commit bcb0052

File tree

3 files changed

+17
-14
lines changed

3 files changed

+17
-14
lines changed

src/bootstrap/mk/Makefile.in

+4-2
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,13 @@ prepare:
9999

100100
## MSVC native builders
101101

102+
# Set of tests that should represent half of the time of the test suite.
103+
# Used to split tests across multiple CI runners.
102104
# this intentionally doesn't use `$(BOOTSTRAP)` so we can test the shebang on Windows
103105
ci-msvc-py:
104-
$(Q)$(CFG_SRC_DIR)/x.py test --stage 2 tidy
106+
$(Q)$(CFG_SRC_DIR)/x.py test --stage 2 --skip=compiler --skip=src
105107
ci-msvc-ps1:
106-
$(Q)$(CFG_SRC_DIR)/x.ps1 test --stage 2 --skip tidy
108+
$(Q)$(CFG_SRC_DIR)/x.ps1 test --stage 2 --skip=tests --skip=coverage-map --skip=coverage-run --skip=library --skip=tidyselftest
107109
ci-msvc: ci-msvc-py ci-msvc-ps1
108110

109111
## MingW native builders

src/bootstrap/src/core/builder/mod.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -258,11 +258,11 @@ impl PathSet {
258258

259259
// internal use only
260260
fn check(p: &TaskPath, needle: &Path, module: Kind) -> bool {
261-
if let Some(p_kind) = &p.kind {
262-
p.path.ends_with(needle) && *p_kind == module
263-
} else {
264-
p.path.ends_with(needle)
265-
}
261+
let check_path = || {
262+
// This order is important for retro-compatibility, as `starts_with` was introduced later.
263+
p.path.ends_with(needle) || p.path.starts_with(needle)
264+
};
265+
if let Some(p_kind) = &p.kind { check_path() && *p_kind == module } else { check_path() }
266266
}
267267

268268
/// Return all `TaskPath`s in `Self` that contain any of the `needles`, removing the

src/ci/github-actions/jobs.yml

+8-7
Original file line numberDiff line numberDiff line change
@@ -372,17 +372,18 @@ auto:
372372
# Windows Builders #
373373
######################
374374

375-
- image: x86_64-msvc
375+
# x86_64-msvc is split into two jobs to run tests in parallel.
376+
- image: x86_64-msvc-1
376377
env:
377378
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
378-
SCRIPT: make ci-msvc
379-
<<: *job-windows-8c
379+
SCRIPT: make ci-msvc-py
380+
<<: *job-windows
380381

381-
- image: i686-msvc
382+
- image: x86_64-msvc-2
382383
env:
383-
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
384-
SCRIPT: make ci-msvc
385-
<<: *job-windows-8c
384+
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
385+
SCRIPT: make ci-msvc-ps1
386+
<<: *job-windows
386387

387388
# x86_64-msvc-ext is split into multiple jobs to run tests in parallel.
388389
- image: x86_64-msvc-ext1

0 commit comments

Comments
 (0)