Skip to content

Commit 9fbf882

Browse files
committed
[DO NOT MERGE] Try to enable windows tests in PR
1 parent a0bfc48 commit 9fbf882

File tree

2 files changed

+117
-0
lines changed

2 files changed

+117
-0
lines changed

.github/workflows/ci.yml

+41
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,47 @@ jobs:
6161
- name: x86_64-gnu-tools
6262
os: ubuntu-20.04-16core-64gb
6363
env: {}
64+
- name: x86_64-msvc
65+
env:
66+
RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --enable-profiler"
67+
SCRIPT: make ci-msvc
68+
os: windows-2019-8core-32gb
69+
- name: i686-msvc
70+
env:
71+
RUST_CONFIGURE_ARGS: "--build=i686-pc-windows-msvc"
72+
SCRIPT: make ci-msvc
73+
os: windows-2019-8core-32gb
74+
- name: x86_64-msvc-ext
75+
env:
76+
SCRIPT: python x.py --stage 2 test src/tools/cargotest src/tools/cargo && src/ci/docker/host-x86_64/x86_64-gnu-tools/checktools.sh x.py /tmp/toolstate/toolstates.json windows
77+
RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --enable-lld --save-toolstates=/tmp/toolstate/toolstates.json"
78+
DEPLOY_TOOLSTATES_JSON: toolstates-windows.json
79+
os: windows-2019-8core-32gb
80+
- name: i686-mingw
81+
env:
82+
RUST_CONFIGURE_ARGS: "--build=i686-pc-windows-gnu"
83+
SCRIPT: make ci-mingw
84+
NO_DOWNLOAD_CI_LLVM: 1
85+
CUSTOM_MINGW: 1
86+
os: windows-2019-8core-32gb
87+
- name: x86_64-mingw
88+
env:
89+
SCRIPT: make ci-mingw
90+
RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-gnu --enable-profiler"
91+
NO_DOWNLOAD_CI_LLVM: 1
92+
CUSTOM_MINGW: 1
93+
os: windows-2019-8core-32gb
94+
- name: dist-aarch64-msvc
95+
env:
96+
RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --host=aarch64-pc-windows-msvc --enable-full-tools --enable-profiler"
97+
SCRIPT: python x.py dist bootstrap --include-default-paths
98+
DIST_REQUIRE_ALL_TOOLS: 1
99+
os: windows-2019-8core-32gb
100+
- name: dist-x86_64-msvc-alt
101+
env:
102+
RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --enable-extended --enable-profiler"
103+
SCRIPT: python x.py dist bootstrap --include-default-paths
104+
os: windows-2019-8core-32gb
64105
timeout-minutes: 600
65106
runs-on: "${{ matrix.os }}"
66107
steps:

src/ci/github-actions/ci.yml

+76
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,82 @@ jobs:
327327
- name: x86_64-gnu-tools
328328
<<: *job-linux-16c
329329

330+
- name: x86_64-msvc
331+
env:
332+
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
333+
SCRIPT: make ci-msvc
334+
<<: *job-windows-8c
335+
336+
- name: i686-msvc
337+
env:
338+
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
339+
SCRIPT: make ci-msvc
340+
<<: *job-windows-8c
341+
342+
- name: x86_64-msvc-ext
343+
env:
344+
SCRIPT: python x.py --stage 2 test src/tools/cargotest src/tools/cargo && src/ci/docker/host-x86_64/x86_64-gnu-tools/checktools.sh x.py /tmp/toolstate/toolstates.json windows
345+
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-lld --save-toolstates=/tmp/toolstate/toolstates.json
346+
DEPLOY_TOOLSTATES_JSON: toolstates-windows.json
347+
<<: *job-windows-8c
348+
349+
# 32/64-bit MinGW builds.
350+
#
351+
# We are using MinGW with POSIX threads since LLVM requires
352+
# C++'s std::thread which is disabled in libstdc++ with win32 threads.
353+
# FIXME: Libc++ doesn't have this limitation so we can avoid
354+
# winpthreads if we switch to it.
355+
#
356+
# Instead of relying on the MinGW version installed on CI we download
357+
# and install one ourselves so we won't be surprised by changes to CI's
358+
# build image.
359+
#
360+
# Finally, note that the downloads below are all in the `rust-lang-ci` S3
361+
# bucket, but they clearly didn't originate there! The downloads originally
362+
# came from the mingw-w64 SourceForge download site. Unfortunately
363+
# SourceForge is notoriously flaky, so we mirror it on our own infrastructure.
364+
365+
- name: i686-mingw
366+
env:
367+
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu
368+
SCRIPT: make ci-mingw
369+
# We are intentionally allowing an old toolchain on this builder (and that's
370+
# incompatible with LLVM downloads today).
371+
NO_DOWNLOAD_CI_LLVM: 1
372+
CUSTOM_MINGW: 1
373+
<<: *job-windows-8c
374+
375+
- name: x86_64-mingw
376+
env:
377+
SCRIPT: make ci-mingw
378+
RUST_CONFIGURE_ARGS: >-
379+
--build=x86_64-pc-windows-gnu
380+
--enable-profiler
381+
# We are intentionally allowing an old toolchain on this builder (and that's
382+
# incompatible with LLVM downloads today).
383+
NO_DOWNLOAD_CI_LLVM: 1
384+
CUSTOM_MINGW: 1
385+
<<: *job-windows-8c
386+
387+
- name: dist-aarch64-msvc
388+
env:
389+
RUST_CONFIGURE_ARGS: >-
390+
--build=x86_64-pc-windows-msvc
391+
--host=aarch64-pc-windows-msvc
392+
--enable-full-tools
393+
--enable-profiler
394+
SCRIPT: python x.py dist bootstrap --include-default-paths
395+
DIST_REQUIRE_ALL_TOOLS: 1
396+
<<: *job-windows-8c
397+
398+
- name: dist-x86_64-msvc-alt
399+
env:
400+
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-extended --enable-profiler
401+
SCRIPT: python x.py dist bootstrap --include-default-paths
402+
<<: *job-windows-8c
403+
404+
405+
330406
auto:
331407
<<: *base-ci-job
332408
name: auto - ${{ matrix.name }}

0 commit comments

Comments
 (0)