Skip to content

Commit 85d163c

Browse files
committed
Upgrade the version of Clang used in the build, move MSVC builds to Server 2022
1 parent cc8d9b6 commit 85d163c

File tree

3 files changed

+39
-21
lines changed

3 files changed

+39
-21
lines changed

src/ci/docker/host-x86_64/dist-x86_64-linux/build-clang.sh

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ set -ex
44

55
source shared.sh
66

7+
# Try to keep the LLVM version here in sync with src/ci/scripts/install-clang.sh
78
LLVM=llvmorg-18.1.0
89

910
mkdir llvm-project

src/ci/github-actions/jobs.yml

+27-16
Original file line numberDiff line numberDiff line change
@@ -83,17 +83,25 @@ envs:
8383
# These jobs automatically inherit envs.pr, to avoid repeating
8484
# it in each job definition.
8585
pr:
86-
- image: mingw-check
87-
<<: *job-linux-4c
88-
- image: mingw-check-tidy
89-
continue_on_error: true
90-
<<: *job-linux-4c
91-
- image: x86_64-gnu-llvm-17
86+
- image: x86_64-apple-1
9287
env:
93-
ENABLE_GCC_CODEGEN: "1"
94-
<<: *job-linux-16c
95-
- image: x86_64-gnu-tools
96-
<<: *job-linux-16c
88+
<<: *env-x86_64-apple-tests
89+
<<: *job-macos-xl
90+
- image: x86_64-apple-2
91+
env:
92+
SCRIPT: ./x.py --stage 2 test tests/ui tests/rustdoc tests/run-make-fulldeps
93+
<<: *env-x86_64-apple-tests
94+
<<: *job-macos-xl
95+
- image: x86_64-msvc
96+
env:
97+
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
98+
SCRIPT: make ci-msvc
99+
<<: *job-windows-8c
100+
- image: i686-msvc
101+
env:
102+
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
103+
SCRIPT: make ci-msvc
104+
<<: *job-windows-8c
97105

98106
# Jobs that run when you perform a try build (@bors try)
99107
# These jobs automatically inherit envs.try, to avoid repeating
@@ -349,21 +357,21 @@ auto:
349357
env:
350358
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
351359
SCRIPT: make ci-msvc
352-
<<: *job-windows-2019-8c
360+
<<: *job-windows-8c
353361

354362
- image: i686-msvc
355363
env:
356364
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
357365
SCRIPT: make ci-msvc
358-
<<: *job-windows-2019-8c
366+
<<: *job-windows-8c
359367

360368
- image: x86_64-msvc-ext
361369
env:
362370
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
363371
HOST_TARGET: x86_64-pc-windows-msvc
364372
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-lld --save-toolstates=/tmp/toolstate/toolstates.json
365373
DEPLOY_TOOLSTATES_JSON: toolstates-windows.json
366-
<<: *job-windows-2019-8c
374+
<<: *job-windows-8c
367375

368376
# 32/64-bit MinGW builds.
369377
#
@@ -414,7 +422,7 @@ auto:
414422
--set rust.codegen-units=1
415423
SCRIPT: python x.py build --set rust.debug=true opt-dist && PGO_HOST=x86_64-pc-windows-msvc ./build/x86_64-pc-windows-msvc/stage0-tools-bin/opt-dist windows-ci -- python x.py dist bootstrap --include-default-paths
416424
DIST_REQUIRE_ALL_TOOLS: 1
417-
<<: *job-windows-2019-8c
425+
<<: *job-windows-8c
418426

419427
- image: dist-i686-msvc
420428
env:
@@ -426,8 +434,11 @@ auto:
426434
--enable-profiler
427435
SCRIPT: python x.py dist bootstrap --include-default-paths
428436
DIST_REQUIRE_ALL_TOOLS: 1
429-
<<: *job-windows-2019-8c
437+
<<: *job-windows-8c
430438

439+
# FIXME: There is a Clang bug that prevents using the VS 2022 STL when
440+
# building for ARM64: https://github.com/llvm/llvm-project/pull/81849
441+
# This is fixed in LLVM 19, but can't be backported to LLVM 18.
431442
- image: dist-aarch64-msvc
432443
env:
433444
RUST_CONFIGURE_ARGS: >-
@@ -471,4 +482,4 @@ auto:
471482
env:
472483
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-extended --enable-profiler
473484
SCRIPT: python x.py dist bootstrap --include-default-paths
474-
<<: *job-windows-2019-8c
485+
<<: *job-windows-8c

src/ci/scripts/install-clang.sh

+11-5
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,24 @@ IFS=$'\n\t'
1010
source "$(cd "$(dirname "$0")" && pwd)/../shared.sh"
1111

1212
# Update both macOS's and Windows's tarballs when bumping the version here.
13-
LLVM_VERSION="14.0.5"
13+
# Try to keep this in sync with src/ci/docker/host-x86_64/dist-x86_64-linux/build-clang.sh
14+
LLVM_VERSION="18.1.4"
1415

1516
if isMacOS; then
17+
# FIXME: This is the latest pre-built version of LLVM that's available for
18+
# x86_64 MacOS. We may want to consider bulding our own LLVM binaries
19+
# instead, or set `USE_XCODE_CLANG` like AArch64 does.
20+
LLVM_VERSION="15.0.7"
21+
1622
# If the job selects a specific Xcode version, use that instead of
1723
# downloading our own version.
1824
if [[ ${USE_XCODE_CLANG-0} -eq 1 ]]; then
1925
bindir="$(xcode-select --print-path)/Toolchains/XcodeDefault.xctoolchain/usr/bin"
2026
else
21-
file="${MIRRORS_BASE}/clang%2Bllvm-${LLVM_VERSION}-x86_64-apple-darwin.tar.xz"
22-
retry curl -f "${file}" -o "clang+llvm-${LLVM_VERSION}-x86_64-apple-darwin.tar.xz"
23-
tar xJf "clang+llvm-${LLVM_VERSION}-x86_64-apple-darwin.tar.xz"
24-
bindir="$(pwd)/clang+llvm-${LLVM_VERSION}-x86_64-apple-darwin/bin"
27+
file="${MIRRORS_BASE}/clang%2Bllvm-${LLVM_VERSION}-x86_64-apple-darwin21.0.tar.xz"
28+
retry curl -f "${file}" -o "clang+llvm-${LLVM_VERSION}-x86_64-apple-darwin21.0.tar.xz"
29+
tar xJf "clang+llvm-${LLVM_VERSION}-x86_64-apple-darwin21.0.tar.xz"
30+
bindir="$(pwd)/clang+llvm-${LLVM_VERSION}-x86_64-apple-darwin21.0/bin"
2531
fi
2632

2733
ciCommandSetEnv CC "${bindir}/clang"

0 commit comments

Comments
 (0)