From 565429b73143d1cdec4efadc9a66359c0946c59d Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Sun, 7 Aug 2022 11:54:21 +0300 Subject: [PATCH 1/5] Bump actions --- .github/workflows/benchmark.yml | 4 ++-- .github/workflows/deploy.yml | 23 ++++++++++++----------- .github/workflows/labels.yml | 2 +- .github/workflows/lint.yml | 8 +++++--- .github/workflows/test.yml | 6 +++--- 5 files changed, 23 insertions(+), 20 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 1def7f2..08faa0f 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -19,10 +19,10 @@ jobs: os: [ubuntu-20.04] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v3 + uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} cache: pip diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 81dfa62..bc40884 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -25,12 +25,13 @@ jobs: os: [windows-latest, macOS-latest, ubuntu-latest] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - run: git fetch --prune --unshallow - name: Set up Python - uses: actions/setup-python@v3 + uses: actions/setup-python@v4 with: + python-version: "3.x" cache: pip cache-dependency-path: ".github/workflows/deploy.yml" @@ -54,7 +55,7 @@ jobs: CIBW_TEST_COMMAND: pytest {package}/tests - name: Upload as build artifacts - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: wheels path: dist/*.whl @@ -91,11 +92,11 @@ jobs: - cp310 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - run: git fetch --prune --unshallow - name: Set up Python - uses: actions/setup-python@v3 + uses: actions/setup-python@v4 with: cache: pip cache-dependency-path: ".github/workflows/deploy.yml" @@ -107,11 +108,11 @@ jobs: # https://github.com/docker/setup-qemu-action - name: Set up QEMU - uses: docker/setup-qemu-action@v1 + uses: docker/setup-qemu-action@v2 # https://github.com/docker/setup-buildx-action - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 + uses: docker/setup-buildx-action@v2 - name: Build wheels run: python -m cibuildwheel --output-dir dist @@ -127,7 +128,7 @@ jobs: CIBW_TEST_COMMAND: pytest {package}/tests - name: Upload as build artifacts - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: wheels path: dist/*.whl @@ -154,14 +155,14 @@ jobs: needs: ['build-native-wheels', 'build-QEMU-emulated-wheels'] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - run: | git fetch --prune --unshallow - name: Set up Python - uses: actions/setup-python@v3 + uses: actions/setup-python@v4 with: - python-version: "3.10" + python-version: "3.x" cache: pip cache-dependency-path: "setup.py" diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml index c22c0d0..95156ef 100644 --- a/.github/workflows/labels.yml +++ b/.github/workflows/labels.yml @@ -12,7 +12,7 @@ jobs: sync: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: micnncim/action-label-syncer@v1 with: prune: false diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index d9014a8..d01a1ea 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -7,6 +7,8 @@ jobs: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 - - uses: actions/setup-python@v3 - - uses: pre-commit/action@v2.0.3 + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: "3.x" + - uses: pre-commit/action@v3.0.0 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 886312d..dc90a01 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -20,10 +20,10 @@ jobs: - { python-version: "3.10", os: macos-latest } steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v3 + uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} cache: pip @@ -66,7 +66,7 @@ jobs: matrix: architecture: [ppc64le, s390x, aarch64, arm/v6, 386] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - run: git fetch --prune --unshallow # https://github.com/docker/setup-qemu-action From b29c9d51c8dcb0bdbafabc57e35d6c1fd58a1c95 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Sun, 7 Aug 2022 12:00:46 +0300 Subject: [PATCH 2/5] GHA: Use ubuntu-latest (except pin to latest 22.04 for benchmark) --- .github/workflows/benchmark.yml | 2 +- .github/workflows/deploy.yml | 2 +- .github/workflows/lint.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 08faa0f..9bf3a0c 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -16,7 +16,7 @@ jobs: fail-fast: false matrix: python-version: ["3.10"] - os: [ubuntu-20.04] + os: [ubuntu-22.04] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index bc40884..0590baf 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -151,7 +151,7 @@ jobs: twine upload --repository-url https://test.pypi.org/legacy/ --skip-existing dist/*.whl build-sdist: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest needs: ['build-native-wheels', 'build-QEMU-emulated-wheels'] steps: diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index d01a1ea..c78a405 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -4,7 +4,7 @@ on: [push, pull_request, workflow_dispatch] jobs: lint: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 From 734a569c4ebb1d07aae653a705d177f2f0b30e5b Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Sun, 7 Aug 2022 12:07:53 +0300 Subject: [PATCH 3/5] Support Python 3.11 --- .github/workflows/deploy.yml | 8 ++++---- .github/workflows/test.yml | 4 +++- setup.cfg | 1 + 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 0590baf..2a9387e 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -37,7 +37,7 @@ jobs: - name: Install dependencies run: | - python -m pip install cibuildwheel==2.3.0 + python -m pip install cibuildwheel==2.10.0 python -m pip install -U twine - name: Build wheels @@ -48,8 +48,6 @@ jobs: CIBW_ARCHS_MACOS: "x86_64 arm64" # Build only on Linux architectures that don't need qemu emulation. CIBW_ARCHS_LINUX: "x86_64 i686" - # Don't build with prerelease Python versions. - CIBW_PROJECT_REQUIRES_PYTHON: ">=3.7,<3.11" # Run the test suite after each build. CIBW_TEST_REQUIRES: "pytest" CIBW_TEST_COMMAND: pytest {package}/tests @@ -90,6 +88,7 @@ jobs: - cp38 - cp39 - cp310 + - cp311 steps: - uses: actions/checkout@v3 @@ -98,12 +97,13 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: + python-version: "3.x" cache: pip cache-dependency-path: ".github/workflows/deploy.yml" - name: Install dependencies run: | - python -m pip install cibuildwheel==2.3.0 + python -m pip install cibuildwheel==2.10.0 python -m pip install -U twine # https://github.com/docker/setup-qemu-action diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index dc90a01..1a1d300 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,6 +18,8 @@ jobs: - { python-version: "pypy-3.8", os: macos-latest } - { python-version: "3.10", os: windows-latest } - { python-version: "3.10", os: macos-latest } + - { python-version: "3.11-dev", os: windows-latest } + - { python-version: "3.11-dev", os: macos-latest } steps: - uses: actions/checkout@v3 @@ -48,7 +50,7 @@ jobs: python -m pytest - name: Test with coverage - if: ${{ startsWith(matrix.os, 'ubuntu') && matrix.python-version == '3.9' }} + if: ${{ startsWith(matrix.os, 'ubuntu') && matrix.python-version == '3.10' }} env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} run: | diff --git a/setup.cfg b/setup.cfg index 813c224..f0236dc 100644 --- a/setup.cfg +++ b/setup.cfg @@ -18,6 +18,7 @@ classifiers = Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 + Programming Language :: Python :: 3.11 download_url = https://github.com/ultrajson/ultrajson project_urls = Source=https://github.com/ultrajson/ultrajson From 68493f8b3ee2b4ce29e48368199d5fa5f068bc8e Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Tue, 13 Sep 2022 23:20:55 +0300 Subject: [PATCH 4/5] Extract single matrix factor --- .github/workflows/deploy.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 2a9387e..ad56c5b 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -80,7 +80,6 @@ jobs: strategy: fail-fast: false matrix: - architecture: ["aarch64"] python-version: - pp37 - pp38 @@ -120,7 +119,7 @@ jobs: env: # Build only the currently selected Linux architecture (so we can # parallelise for speed). - CIBW_ARCHS_LINUX: "${{ matrix.architecture }}" + CIBW_ARCHS_LINUX: "aarch64" # Likewise, select only one Python version per job to speed this up. CIBW_BUILD: "${{ matrix.python-version }}-*" # Run the test suite after each build. From b5ce31296e52b3b6777090a8b89c9e64454661c2 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Wed, 14 Sep 2022 08:43:33 +0300 Subject: [PATCH 5/5] Create wheel for PyPy3.9 --- .github/workflows/deploy.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index ad56c5b..d53b237 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -83,6 +83,7 @@ jobs: python-version: - pp37 - pp38 + - pp39 - cp37 - cp38 - cp39