Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit cb20da4

Browse files
committed
Auto merge of rust-lang#120744 - ehuss:apple-ninja-testing, r=<try>
Apple CI build testing
2 parents d6c46a2 + cde57c3 commit cb20da4

File tree

2 files changed

+108
-161
lines changed

2 files changed

+108
-161
lines changed

.github/workflows/ci.yml

Lines changed: 44 additions & 134 deletions
Original file line numberDiff line numberDiff line change
@@ -36,138 +36,6 @@ concurrency:
3636
group: "${{ github.workflow }}-${{ ((github.ref == 'refs/heads/try' || github.ref == 'refs/heads/try-perf') && github.sha) || github.ref }}"
3737
cancel-in-progress: true
3838
jobs:
39-
pr:
40-
name: "PR - ${{ matrix.name }}"
41-
env:
42-
PR_CI_JOB: 1
43-
CI_JOB_NAME: "${{ matrix.name }}"
44-
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
45-
HEAD_SHA: "${{ github.event.pull_request.head.sha || github.sha }}"
46-
DOCKER_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
47-
SCCACHE_BUCKET: rust-lang-ci-sccache2
48-
TOOLSTATE_REPO: "https://github.com/rust-lang-nursery/rust-toolstate"
49-
CACHE_DOMAIN: ci-caches.rust-lang.org
50-
if: "github.event_name == 'pull_request'"
51-
continue-on-error: "${{ matrix.name == 'mingw-check-tidy' }}"
52-
strategy:
53-
matrix:
54-
include:
55-
- name: mingw-check
56-
os: ubuntu-20.04-4core-16gb
57-
env: {}
58-
- name: mingw-check-tidy
59-
os: ubuntu-20.04-4core-16gb
60-
env: {}
61-
- name: x86_64-gnu-llvm-16
62-
env:
63-
ENABLE_GCC_CODEGEN: "1"
64-
os: ubuntu-20.04-16core-64gb
65-
- name: x86_64-gnu-tools
66-
os: ubuntu-20.04-16core-64gb
67-
env: {}
68-
timeout-minutes: 600
69-
runs-on: "${{ matrix.os }}"
70-
steps:
71-
- name: disable git crlf conversion
72-
run: git config --global core.autocrlf false
73-
- name: checkout the source code
74-
uses: actions/checkout@v4
75-
with:
76-
fetch-depth: 2
77-
- name: configure the PR in which the error message will be posted
78-
run: "echo \"[CI_PR_NUMBER=$num]\""
79-
env:
80-
num: "${{ github.event.number }}"
81-
if: "success() && !env.SKIP_JOB && github.event_name == 'pull_request'"
82-
- name: add extra environment variables
83-
run: src/ci/scripts/setup-environment.sh
84-
env:
85-
EXTRA_VARIABLES: "${{ toJson(matrix.env) }}"
86-
if: success() && !env.SKIP_JOB
87-
- name: decide whether to skip this job
88-
run: src/ci/scripts/should-skip-this.sh
89-
if: success() && !env.SKIP_JOB
90-
- name: ensure the channel matches the target branch
91-
run: src/ci/scripts/verify-channel.sh
92-
if: success() && !env.SKIP_JOB
93-
- name: collect CPU statistics
94-
run: src/ci/scripts/collect-cpu-stats.sh
95-
if: success() && !env.SKIP_JOB
96-
- name: show the current environment
97-
run: src/ci/scripts/dump-environment.sh
98-
if: success() && !env.SKIP_JOB
99-
- name: install awscli
100-
run: src/ci/scripts/install-awscli.sh
101-
if: success() && !env.SKIP_JOB
102-
- name: install sccache
103-
run: src/ci/scripts/install-sccache.sh
104-
if: success() && !env.SKIP_JOB
105-
- name: select Xcode
106-
run: src/ci/scripts/select-xcode.sh
107-
if: success() && !env.SKIP_JOB
108-
- name: install clang
109-
run: src/ci/scripts/install-clang.sh
110-
if: success() && !env.SKIP_JOB
111-
- name: install tidy
112-
run: src/ci/scripts/install-tidy.sh
113-
if: success() && !env.SKIP_JOB
114-
- name: install WIX
115-
run: src/ci/scripts/install-wix.sh
116-
if: success() && !env.SKIP_JOB
117-
- name: disable git crlf conversion
118-
run: src/ci/scripts/disable-git-crlf-conversion.sh
119-
if: success() && !env.SKIP_JOB
120-
- name: checkout submodules
121-
run: src/ci/scripts/checkout-submodules.sh
122-
if: success() && !env.SKIP_JOB
123-
- name: install MSYS2
124-
run: src/ci/scripts/install-msys2.sh
125-
if: success() && !env.SKIP_JOB
126-
- name: install MinGW
127-
run: src/ci/scripts/install-mingw.sh
128-
if: success() && !env.SKIP_JOB
129-
- name: install ninja
130-
run: src/ci/scripts/install-ninja.sh
131-
if: success() && !env.SKIP_JOB
132-
- name: enable ipv6 on Docker
133-
run: src/ci/scripts/enable-docker-ipv6.sh
134-
if: success() && !env.SKIP_JOB
135-
- name: disable git crlf conversion
136-
run: src/ci/scripts/disable-git-crlf-conversion.sh
137-
if: success() && !env.SKIP_JOB
138-
- name: ensure line endings are correct
139-
run: src/ci/scripts/verify-line-endings.sh
140-
if: success() && !env.SKIP_JOB
141-
- name: ensure backported commits are in upstream branches
142-
run: src/ci/scripts/verify-backported-commits.sh
143-
if: success() && !env.SKIP_JOB
144-
- name: ensure the stable version number is correct
145-
run: src/ci/scripts/verify-stable-version-number.sh
146-
if: success() && !env.SKIP_JOB
147-
- name: run the build
148-
run: src/ci/scripts/run-build-from-ci.sh
149-
env:
150-
AWS_ACCESS_KEY_ID: "${{ env.CACHES_AWS_ACCESS_KEY_ID }}"
151-
AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.CACHES_AWS_ACCESS_KEY_ID)] }}"
152-
TOOLSTATE_REPO_ACCESS_TOKEN: "${{ secrets.TOOLSTATE_REPO_ACCESS_TOKEN }}"
153-
if: success() && !env.SKIP_JOB
154-
- name: create github artifacts
155-
run: src/ci/scripts/create-doc-artifacts.sh
156-
if: success() && !env.SKIP_JOB
157-
- name: upload artifacts to github
158-
uses: actions/upload-artifact@v3
159-
with:
160-
name: "${{ env.DOC_ARTIFACT_NAME }}"
161-
path: obj/artifacts/doc
162-
if-no-files-found: ignore
163-
retention-days: 5
164-
if: success() && !env.SKIP_JOB
165-
- name: upload artifacts to S3
166-
run: src/ci/scripts/upload-artifacts.sh
167-
env:
168-
AWS_ACCESS_KEY_ID: "${{ env.ARTIFACTS_AWS_ACCESS_KEY_ID }}"
169-
AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.ARTIFACTS_AWS_ACCESS_KEY_ID)] }}"
170-
if: "success() && !env.SKIP_JOB && (github.event_name == 'push' || env.DEPLOY == '1' || env.DEPLOY_ALT == '1')"
17139
auto:
17240
name: "auto - ${{ matrix.name }}"
17341
env:
@@ -583,10 +451,52 @@ jobs:
583451
strategy:
584452
matrix:
585453
include:
586-
- name: dist-x86_64-linux
454+
- name: dist-x86_64-apple
587455
env:
456+
SCRIPT: "./x.py dist bootstrap --include-default-paths --host=x86_64-apple-darwin --target=x86_64-apple-darwin"
457+
RUST_CONFIGURE_ARGS: "--enable-full-tools --enable-sanitizers --enable-profiler --set llvm.ninja=false --set rust.jemalloc --set rust.lto=thin"
458+
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
459+
MACOSX_DEPLOYMENT_TARGET: 10.12
460+
SELECT_XCODE: /Applications/Xcode_13.4.1.app
461+
NO_LLVM_ASSERTIONS: 1
462+
NO_DEBUG_ASSERTIONS: 1
463+
NO_OVERFLOW_CHECKS: 1
464+
DIST_REQUIRE_ALL_TOOLS: 1
588465
CODEGEN_BACKENDS: "llvm,cranelift"
589-
os: ubuntu-20.04-16core-64gb
466+
os: macos-13
467+
- name: dist-apple-various
468+
env:
469+
SCRIPT: "./x.py dist bootstrap --include-default-paths --host='' --target=aarch64-apple-ios,x86_64-apple-ios,aarch64-apple-ios-sim"
470+
RUST_CONFIGURE_ARGS: "--enable-sanitizers --enable-profiler --set llvm.ninja=false --set rust.jemalloc"
471+
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
472+
MACOSX_DEPLOYMENT_TARGET: 10.12
473+
SELECT_XCODE: /Applications/Xcode_13.4.1.app
474+
NO_LLVM_ASSERTIONS: 1
475+
NO_DEBUG_ASSERTIONS: 1
476+
NO_OVERFLOW_CHECKS: 1
477+
os: macos-13
478+
- name: x86_64-apple-1
479+
env:
480+
SCRIPT: "./x.py --stage 2 test --skip tests/ui --skip tests/rustdoc --skip tests/run-make-fulldeps"
481+
RUST_CONFIGURE_ARGS: "--build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set llvm.ninja=false --set rust.jemalloc"
482+
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
483+
MACOSX_DEPLOYMENT_TARGET: 10.12
484+
MACOSX_STD_DEPLOYMENT_TARGET: 10.12
485+
NO_LLVM_ASSERTIONS: 1
486+
NO_DEBUG_ASSERTIONS: 1
487+
NO_OVERFLOW_CHECKS: 1
488+
os: macos-13
489+
- name: x86_64-apple-2
490+
env:
491+
SCRIPT: "./x.py --stage 2 test tests/ui tests/rustdoc tests/run-make-fulldeps"
492+
RUST_CONFIGURE_ARGS: "--build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set llvm.ninja=false --set rust.jemalloc"
493+
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
494+
MACOSX_DEPLOYMENT_TARGET: 10.12
495+
MACOSX_STD_DEPLOYMENT_TARGET: 10.12
496+
NO_LLVM_ASSERTIONS: 1
497+
NO_DEBUG_ASSERTIONS: 1
498+
NO_OVERFLOW_CHECKS: 1
499+
os: macos-13
590500
timeout-minutes: 600
591501
runs-on: "${{ matrix.os }}"
592502
steps:

src/ci/github-actions/ci.yml

Lines changed: 64 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -319,30 +319,30 @@ concurrency:
319319
cancel-in-progress: true
320320

321321
jobs:
322-
pr:
323-
<<: *base-ci-job
324-
name: PR - ${{ matrix.name }}
325-
env:
326-
<<: [*shared-ci-variables, *public-variables]
327-
PR_CI_JOB: 1
328-
if: github.event_name == 'pull_request'
329-
continue-on-error: ${{ matrix.name == 'mingw-check-tidy' }}
330-
strategy:
331-
matrix:
332-
include:
333-
- name: mingw-check
334-
<<: *job-linux-4c
335-
336-
- name: mingw-check-tidy
337-
<<: *job-linux-4c
338-
339-
- name: x86_64-gnu-llvm-16
340-
env:
341-
ENABLE_GCC_CODEGEN: "1"
342-
<<: *job-linux-16c
343-
344-
- name: x86_64-gnu-tools
345-
<<: *job-linux-16c
322+
# pr:
323+
# <<: *base-ci-job
324+
# name: PR - ${{ matrix.name }}
325+
# env:
326+
# <<: [*shared-ci-variables, *public-variables]
327+
# PR_CI_JOB: 1
328+
# if: github.event_name == 'pull_request'
329+
# continue-on-error: ${{ matrix.name == 'mingw-check-tidy' }}
330+
# strategy:
331+
# matrix:
332+
# include:
333+
# - name: mingw-check
334+
# <<: *job-linux-4c
335+
336+
# - name: mingw-check-tidy
337+
# <<: *job-linux-4c
338+
339+
# - name: x86_64-gnu-llvm-16
340+
# env:
341+
# ENABLE_GCC_CODEGEN: "1"
342+
# <<: *job-linux-16c
343+
344+
# - name: x86_64-gnu-tools
345+
# <<: *job-linux-16c
346346

347347
auto:
348348
<<: *base-ci-job
@@ -733,12 +733,49 @@ jobs:
733733
strategy:
734734
matrix:
735735
include:
736-
- &dist-x86_64-linux
737-
name: dist-x86_64-linux
736+
- name: dist-x86_64-apple
738737
env:
738+
SCRIPT: ./x.py dist bootstrap --include-default-paths --host=x86_64-apple-darwin --target=x86_64-apple-darwin
739+
RUST_CONFIGURE_ARGS: --enable-full-tools --enable-sanitizers --enable-profiler --set llvm.ninja=false --set rust.jemalloc --set rust.lto=thin
740+
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
741+
MACOSX_DEPLOYMENT_TARGET: 10.12
742+
SELECT_XCODE: /Applications/Xcode_13.4.1.app
743+
NO_LLVM_ASSERTIONS: 1
744+
NO_DEBUG_ASSERTIONS: 1
745+
NO_OVERFLOW_CHECKS: 1
746+
DIST_REQUIRE_ALL_TOOLS: 1
739747
CODEGEN_BACKENDS: llvm,cranelift
740-
<<: *job-linux-16c
748+
<<: *job-macos-xl
749+
750+
- name: dist-apple-various
751+
env:
752+
SCRIPT: ./x.py dist bootstrap --include-default-paths --host='' --target=aarch64-apple-ios,x86_64-apple-ios,aarch64-apple-ios-sim
753+
RUST_CONFIGURE_ARGS: --enable-sanitizers --enable-profiler --set llvm.ninja=false --set rust.jemalloc
754+
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
755+
MACOSX_DEPLOYMENT_TARGET: 10.12
756+
SELECT_XCODE: /Applications/Xcode_13.4.1.app
757+
NO_LLVM_ASSERTIONS: 1
758+
NO_DEBUG_ASSERTIONS: 1
759+
NO_OVERFLOW_CHECKS: 1
760+
<<: *job-macos-xl
761+
762+
- name: x86_64-apple-1
763+
env: &env-x86_64-apple-tests
764+
SCRIPT: ./x.py --stage 2 test --skip tests/ui --skip tests/rustdoc --skip tests/run-make-fulldeps
765+
RUST_CONFIGURE_ARGS: --build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set llvm.ninja=false --set rust.jemalloc
766+
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
767+
MACOSX_DEPLOYMENT_TARGET: 10.12
768+
MACOSX_STD_DEPLOYMENT_TARGET: 10.12
769+
NO_LLVM_ASSERTIONS: 1
770+
NO_DEBUG_ASSERTIONS: 1
771+
NO_OVERFLOW_CHECKS: 1
772+
<<: *job-macos-xl
741773

774+
- name: x86_64-apple-2
775+
env:
776+
SCRIPT: ./x.py --stage 2 test tests/ui tests/rustdoc tests/run-make-fulldeps
777+
<<: *env-x86_64-apple-tests
778+
<<: *job-macos-xl
742779

743780
master:
744781
name: master

0 commit comments

Comments
 (0)