Skip to content

Commit e9563be

Browse files
committed
[libc++] Move some macOS CI jobs to Github actions
This is an attempt to decouple macOS CI testing from BuildKite, which would make the maintenance of macOS CI easier and more accessible to all contributors. Right now, the macOS CI is running entirely on machines owned by the LLVM Foundation with only a small set of contributors having direct access to them. The story for performing back-deployment testing still needs to be figured out, so for now we are retaining some jobs under BuildKite.
1 parent 971ec1f commit e9563be

File tree

2 files changed

+52
-57
lines changed

2 files changed

+52
-57
lines changed

.github/workflows/libcxx-build-and-test.yaml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ jobs:
8585
**/CMakeError.log
8686
**/CMakeOutput.log
8787
**/crash_diagnostics/*
88+
8889
stage2:
8990
if: github.repository_owner == 'llvm'
9091
runs-on: libcxx-runners-8-set
@@ -134,6 +135,7 @@ jobs:
134135
**/CMakeError.log
135136
**/CMakeOutput.log
136137
**/crash_diagnostics/*
138+
137139
stage3:
138140
if: github.repository_owner == 'llvm'
139141
needs: [ stage1, stage2 ]
@@ -199,6 +201,38 @@ jobs:
199201
**/CMakeError.log
200202
**/CMakeOutput.log
201203
**/crash_diagnostics/*
204+
205+
macos:
206+
runs-on: macos-latest
207+
needs: [ stage1 ]
208+
strategy:
209+
fail-fast: false
210+
matrix:
211+
config: [
212+
generic-cxx03,
213+
generic-cxx23,
214+
generic-modules,
215+
apple-system
216+
]
217+
steps:
218+
- uses: actions/checkout@v4
219+
- uses: maxim-lobanov/setup-xcode@v1
220+
with:
221+
xcode-version: 'latest-stable'
222+
- name: Build and test
223+
run: |
224+
bash libcxx/utils/ci/run-buildbot ${{ matrix.config }}
225+
- uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0
226+
if: always() # Upload artifacts even if the build or test suite fails
227+
with:
228+
name: macos-${{ matrix.config }}-results
229+
path: |
230+
**/test-results.xml
231+
**/*.abilist
232+
**/CMakeError.log
233+
**/CMakeOutput.log
234+
**/crash_diagnostics/*
235+
202236
windows:
203237
runs-on: windows-2022
204238
needs: [ stage1 ]

libcxx/utils/ci/buildkite-pipeline.yml

Lines changed: 18 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -56,47 +56,8 @@ environment_definitions:
5656

5757

5858
steps:
59-
- group: ':mac: Apple'
59+
- group: ':mac: Apple Backdeployment'
6060
steps:
61-
- label: MacOS x86_64
62-
command: libcxx/utils/ci/run-buildbot generic-cxx23
63-
agents:
64-
queue: libcxx-builders
65-
os: macos
66-
arch: x86_64
67-
<<: *common
68-
69-
- label: MacOS arm64
70-
command: libcxx/utils/ci/run-buildbot generic-cxx23
71-
agents:
72-
queue: libcxx-builders
73-
os: macos
74-
arch: arm64
75-
<<: *common
76-
77-
- label: MacOS with Modules
78-
command: libcxx/utils/ci/run-buildbot generic-modules
79-
agents:
80-
queue: libcxx-builders
81-
os: macos
82-
<<: *common
83-
84-
- label: MacOS with C++03
85-
command: libcxx/utils/ci/run-buildbot generic-cxx03
86-
agents:
87-
queue: libcxx-builders
88-
os: macos
89-
<<: *common
90-
91-
# Build with the configuration we use to generate libc++.dylib on Apple platforms
92-
- label: Apple system
93-
command: libcxx/utils/ci/run-buildbot apple-system
94-
agents:
95-
queue: libcxx-builders
96-
os: macos
97-
arch: arm64 # This can technically run on any architecture, but we have more resources on arm64 so we pin this job to arm64
98-
<<: *common
99-
10061
- label: Apple back-deployment macosx10.13
10162
command: libcxx/utils/ci/run-buildbot apple-system-backdeployment-10.13
10263
agents:
@@ -121,6 +82,23 @@ steps:
12182
arch: x86_64 # TODO: Remove this once we are able to run back-deployment on arm64 again, since this isn't x86_64 specific
12283
<<: *common
12384

85+
# TODO: Re-enable this once we've figured out how to run back-deployment testing on arm64 on recent OSes
86+
# - label: "Apple back-deployment macosx11.0 arm64"
87+
# command: "libcxx/utils/ci/run-buildbot apple-system-backdeployment-11.0"
88+
# artifact_paths:
89+
# - "**/test-results.xml"
90+
# - "**/*.abilist"
91+
# agents:
92+
# queue: "libcxx-builders"
93+
# os: "macos"
94+
# arch: "arm64"
95+
# retry:
96+
# automatic:
97+
# - exit_status: -1 # Agent was lost
98+
# limit: 2
99+
# timeout_in_minutes: 120
100+
101+
124102
- group: ARM
125103
steps:
126104
- label: AArch64
@@ -230,20 +208,3 @@ steps:
230208
queue: libcxx-builders
231209
os: android
232210
<<: *common
233-
234-
235-
# TODO: Re-enable this once we've figured out how to run back-deployment testing on arm64 on recent OSes
236-
# - label: "Apple back-deployment macosx11.0 arm64"
237-
# command: "libcxx/utils/ci/run-buildbot apple-system-backdeployment-11.0"
238-
# artifact_paths:
239-
# - "**/test-results.xml"
240-
# - "**/*.abilist"
241-
# agents:
242-
# queue: "libcxx-builders"
243-
# os: "macos"
244-
# arch: "arm64"
245-
# retry:
246-
# automatic:
247-
# - exit_status: -1 # Agent was lost
248-
# limit: 2
249-
# timeout_in_minutes: 120

0 commit comments

Comments
 (0)