Skip to content

Commit

Permalink
Use cibuildwheel to build wheels.
Browse files Browse the repository at this point in the history
This will enable the building of macOS ARM64 compatible wheels, fixing ultrajson#456 (and
also lets us delete lots of code!!!).
  • Loading branch information
bwoodsend committed Nov 28, 2021
1 parent 1dda667 commit 495203a
Show file tree
Hide file tree
Showing 5 changed files with 64 additions and 249 deletions.
81 changes: 0 additions & 81 deletions .github/workflows/deploy-wheels-linux.yml

This file was deleted.

61 changes: 0 additions & 61 deletions .github/workflows/deploy-wheels-windows-macos.yml

This file was deleted.

64 changes: 64 additions & 0 deletions .github/workflows/deploy-wheels.yml
@@ -0,0 +1,64 @@
name: Deploy wheels

on:
push:
branches:
- main
release:
types:
- published

jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [windows-latest, macOS-latest, ubuntu-latest]
linux-arch: ['auto']
include:
- os: "ubuntu-latest"
linux-arch: "aarch64"

steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2

- name: Install cibuildwheel
run: python -m pip install cibuildwheel==2.3.0

- name: Build wheels
run: python -m cibuildwheel --output-dir dist
# Options are supplied via environment variables:
env:
# Build separate wheels for macOS's different architectures.
CIBW_ARCHS_MACOS: "x86_64 arm64"
# Build only the currently selected Linux architecture (so we can
# parallelise for speed).
CIBW_ARCHS_LINUX: "${{ martix.linux-arch }}"
# Don't build with prerelease Python versions.
CIBW_PROJECT_REQUIRES_PYTHON: ">=3.6,<3.11"
# Testing
CIBW_TEST_REQUIRES: "pytest"
CIBW_TEST_COMMAND: pytest {package}/tests

- name: Upload as build artifacts
uses: actions/upload-artifact@v2
with:
name: wheels
path: dist/*.whl

- name: Publish package to PyPI
if: github.event.action == 'published'
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.pypi_password }}
run: twine upload --skip-existing dist/*.whl

- name: Publish package to TestPyPI
if: github.repository == 'ultrajson/ultrajson'
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.test_pypi_password }}
run: |
twine upload --repository-url https://test.pypi.org/legacy/ --skip-existing dist/*.whl
55 changes: 0 additions & 55 deletions scripts/build-manylinux-wheels.sh

This file was deleted.

52 changes: 0 additions & 52 deletions scripts/build-manylinux.py

This file was deleted.

0 comments on commit 495203a

Please sign in to comment.