Skip to content

Commit 2433433

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 66364e6 commit 2433433

File tree

2 files changed

+53
-57
lines changed

2 files changed

+53
-57
lines changed

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

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ jobs:
8282
**/CMakeError.log
8383
**/CMakeOutput.log
8484
**/crash_diagnostics/*
85+
8586
stage2:
8687
if: github.repository_owner == 'llvm'
8788
runs-on: libcxx-runners-8-set
@@ -126,6 +127,7 @@ jobs:
126127
**/CMakeError.log
127128
**/CMakeOutput.log
128129
**/crash_diagnostics/*
130+
129131
stage3:
130132
if: github.repository_owner == 'llvm'
131133
needs: [ stage1, stage2 ]
@@ -190,6 +192,39 @@ jobs:
190192
**/CMakeError.log
191193
**/CMakeOutput.log
192194
**/crash_diagnostics/*
195+
196+
macos:
197+
runs-on: macos-14
198+
needs: [ stage1 ]
199+
strategy:
200+
fail-fast: false
201+
matrix:
202+
config: [
203+
generic-cxx03,
204+
generic-cxx23,
205+
generic-modules,
206+
apple-system
207+
]
208+
steps:
209+
- uses: actions/checkout@v4
210+
- uses: maxim-lobanov/setup-xcode@v1
211+
with:
212+
xcode-version: 'latest-stable'
213+
- uses: seanmiddleditch/gha-setup-ninja@master
214+
- name: Build and test
215+
run: |
216+
bash libcxx/utils/ci/run-buildbot ${{ matrix.config }}
217+
- uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0
218+
if: always() # Upload artifacts even if the build or test suite fails
219+
with:
220+
name: macos-${{ matrix.config }}-results
221+
path: |
222+
**/test-results.xml
223+
**/*.abilist
224+
**/CMakeError.log
225+
**/CMakeOutput.log
226+
**/crash_diagnostics/*
227+
193228
windows:
194229
runs-on: windows-2022
195230
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)