version: 2 jobs: linux-wheels: working_directory: ~/linux-wheels docker: - image: cimg/python:3.12 steps: - checkout - setup_remote_docker - run: name: Build the Linux wheels. command: | python3 -m pip install --user cibuildwheel==2.23.0 cibuildwheel --output-dir wheelhouse - store_artifacts: path: wheelhouse/ linux-aarch64-wheels: working_directory: ~/linux-aarch64-wheels machine: image: default # resource_class is what tells CircleCI to use an ARM worker for native arm builds # https://circleci.com/product/features/resource-classes/ resource_class: arm.medium steps: - checkout - run: name: Build the Linux aarch64 wheels. command: | python3 -m pip install --user cibuildwheel==2.23.0 python3 -m cibuildwheel --output-dir wheelhouse - store_artifacts: path: wheelhouse/ osx-wheels: working_directory: ~/osx-wheels macos: xcode: 15.4.0 resource_class: macos.m1.medium.gen1 steps: - checkout - run: name: Build the OS X wheels. command: | sudo softwareupdate --install-rosetta --agree-to-license # for python<=3.8 or x86_64/universal2 tests pip3 install cibuildwheel==2.23.0 cibuildwheel --output-dir wheelhouse - store_artifacts: path: wheelhouse/ workflows: version: 2 all-tests: jobs: - linux-wheels - linux-aarch64-wheels - osx-wheels