version: 2 jobs: linux-wheels: working_directory: ~/linux-wheels docker: - image: circleci/python:3.9 steps: - checkout - setup_remote_docker - run: name: Build the Linux wheels. command: | pip3 install --user cibuildwheel==2.16.2 cibuildwheel --output-dir wheelhouse - store_artifacts: path: wheelhouse/ linux-aarch64-wheels: working_directory: ~/linux-aarch64-wheels machine: image: ubuntu-2004:2022.04.1 # 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.16.2 python3 -m cibuildwheel --output-dir wheelhouse - store_artifacts: path: wheelhouse/ osx-wheels: working_directory: ~/osx-wheels macos: xcode: 12.5.1 steps: - checkout - run: name: Build the OS X wheels. command: | pip3 install cibuildwheel==2.16.2 cibuildwheel --output-dir wheelhouse - store_artifacts: path: wheelhouse/ workflows: version: 2 all-tests: jobs: - linux-wheels - linux-aarch64-wheels - osx-wheels