Skip to content

Commit 4b92d69

Browse files
authored
Switch Azure Pipelines iOS image (#2563)
* Revert Azure iOS runners to macos-14. * Add warning about known macos-15 issues on Github Actions and Azure. * Update workflow reference with actual ticket.
1 parent c923d83 commit 4b92d69

File tree

4 files changed

+11
-6
lines changed

4 files changed

+11
-6
lines changed

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ jobs:
7676
- os: macos-13
7777
python_version: '3.13'
7878
test_select: ios
79-
- os: macos-14 # 20250811 macos-15 update caused havoc with iOS simulators
79+
- os: macos-14 # See https://github.com/actions/runner-images/issues/12777
8080
python_version: '3.13'
8181
test_select: ios
8282
- os: macos-13

README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,17 +58,19 @@ Usage
5858

5959
| | Linux | macOS | Windows | Linux ARM | macOS ARM | Windows ARM | Android | iOS |
6060
|-----------------|-------|-------|---------|-----------|-----------|-------------|---------|-----|
61-
| GitHub Actions |||||| ✅² | ✅⁴ | ✅³ |
62-
| Azure Pipelines |||| || ✅² | ✅⁴ | ✅³ |
61+
| GitHub Actions |||||| ✅² | ✅⁴ | ✅³ |
62+
| Azure Pipelines |||| || ✅² | ✅⁴ | ✅³ |
6363
| Travis CI || ||| | | ✅⁴ | |
6464
| CircleCI ||| ||| | ✅⁴ | ✅³ |
6565
| Gitlab CI |||| ✅¹ || | ✅⁴ | ✅³ |
6666
| Cirrus CI |||||| | ✅⁴ | |
6767

6868
<sup[Requires emulation](https://cibuildwheel.pypa.io/en/stable/faq/#emulation), distributed separately. Other services may also support Linux ARM through emulation or third-party build hosts, but these are not tested in our CI.</sup><br>
6969
<sup[Uses cross-compilation](https://cibuildwheel.pypa.io/en/stable/faq/#windows-arm64). It is not possible to test `arm64` on this CI platform.</sup><br>
70-
<sup>³ Requires a macOS runner; runs tests on the simulator for the runner's architecture.</sup><br>
70+
<sup>³ Requires a macOS runner; runs tests on the simulator for the runner's architecture. </sup><br>
7171
<sup>⁴ Building for Android requires the runner to be Linux x86_64, macOS ARM64 or macOS x86_64. Testing has [additional requirements](https://cibuildwheel.pypa.io/en/stable/platforms/#android).</sup><br>
72+
<sup>⁵ The `macos-15` and `macos-latest` images are [incompatible with cibuildwheel at this time](platforms/#ios-system-requirements)</sup><br>
73+
7274
<!--intro-end-->
7375

7476
Example setup

azure-pipelines.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
pythonVersion: "3.11"
3333
testSelect: "native"
3434
ios_311:
35-
imageName: "macos-latest"
35+
imageName: "macos-14" # See https://github.com/actions/runner-images/issues/12777
3636
pythonVersion: "3.11"
3737
testSelect: "ios"
3838
android_macos_311:

docs/platforms.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -253,12 +253,15 @@ to one of the following URLs:
253253

254254
## iOS {: #ios}
255255

256-
### System requirements
256+
### System requirements {: #ios-system-requirements}
257257

258258
You must be building on a macOS machine, with Xcode installed. The Xcode installation must have an iOS SDK available, with all license agreements agreed to by the user. To check if an iOS SDK is available, open the Xcode settings panel, and check the Platforms tab. This will also ensure that license agreements have been acknowledged.
259259

260260
Building iOS wheels also requires a working macOS Python installation. See the notes on [macOS builds](#macos) for details about configuration of the macOS environment.
261261

262+
!!! note
263+
If you are running cibuildwheel on GitHub Actions or Azure runners, you should avoid the `macos-15` and `macos-latest` images. The [20250811 image update](https://github.com/actions/runner-images/releases/tag/macos-15-arm64%2F20250811.2170) made some [significant changes](https://github.com/actions/runner-images/issues/12541) that are [incompatible with CPython's iOS test runner](https://github.com/actions/runner-images/issues/12777). At this time, Microsoft's advice is to use the `macos-14` image instead.
264+
262265
### Specifying an iOS build
263266

264267
iOS is effectively 2 platforms - physical devices, and simulators. While the API for these two platforms are identical, the ABI is not compatible, even when dealing with a device and simulator with the same CPU architecture. For this reason, the architecture specification for iOS builds includes *both* the CPU architecture *and* the ABI that is being targeted. There are three possible values for architecture on iOS; the values match those used by `sys.implementation._multiarch` when running on iOS (with hyphens replaced with underscores, matching wheel filename normalization):

0 commit comments

Comments
 (0)