11version : 2.1
22
33executors :
4+ macos_executor :
5+ macos :
6+ # https://circleci.com/docs/using-macos/#supported-xcode-versions
7+ xcode : 16.1.0
8+ # https://circleci.com/docs/using-macos/#available-resource-classes
9+ # https://circleci.com/pricing/#comparison-table
10+ resource_class : macos.m1.medium.gen1
411 ubuntu_executor :
512 machine :
613 # https://circleci.com/developer/images?imageType=machine
@@ -177,13 +184,25 @@ jobs:
177184 root : .
178185 paths : [ .coverage.* ]
179186
180- # As of July 2024, there's no free macOS machine available on CircleCI :/
181- # See https://discuss.circleci.com/t/macos-intel-support-deprecation-in-january-2024/48718
182-
183187 # Note the while we use Linux executor to test against specific Python&git version,
184- # on Windows we're just checking compatibility with the OS itself,
188+ # on macOS and Windows we're just checking compatibility with the OS itself,
185189 # relying on whatever recent versions of Python and git are provided in the image.
186190
191+ " macos tests " :
192+ executor : macos_executor
193+ steps :
194+ - checkout
195+ - run : brew install fish zsh
196+ - run : pip install tox
197+ # TODO (#1005): make zsh completion tests pass on macOS machine on CI
198+ - run : tox -e test-completions -- -vv -k "not zsh"
199+ - run : PYTHON_VERSION=3-macos tox -e coverage -- -vv
200+ - store_test_results :
201+ path : test-results/
202+ - persist_to_workspace :
203+ root : .
204+ paths : [ .coverage.* ]
205+
187206 " windows tests " :
188207 executor : windows_executor
189208 steps :
@@ -286,6 +305,7 @@ test_jobs: &test_jobs
286305 - python 3_11 git 2_38_1
287306 - python 3_12 git 2_46_1
288307 - python 3_13 git 2_47_0
308+ - macos tests
289309 - windows tests
290310
291311only_master : &only_master
@@ -306,6 +326,7 @@ workflows:
306326 - python 3_11 git 2_38_1
307327 - python 3_12 git 2_46_1
308328 - python 3_13 git 2_47_0
329+ - macos tests
309330 - windows tests
310331 - coverage upload :
311332 requires :
0 commit comments