diff --git a/.editorconfig b/.editorconfig index 9d3c4f2..5094013 100644 --- a/.editorconfig +++ b/.editorconfig @@ -2,7 +2,7 @@ # https://github.com/zopefoundation/meta/tree/master/config/c-code # # EditorConfig Configuration file, for more details see: -# http://EditorConfig.org +# https://EditorConfig.org # EditorConfig is a convention description, that could be interpreted # by multiple editors to enforce common coding conventions for specific # file types diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index eaf3a78..8f2ad3c 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -24,7 +24,7 @@ jobs: - uses: actions/checkout@v5 - uses: actions/setup-python@v6 with: - python-version: 3.x + python-version: '3.13' - uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd #v3.0.1 with: extra_args: --all-files --show-diff-on-failure diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 7b4ef82..4e110a0 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -387,7 +387,7 @@ jobs: runs-on: "ubuntu-latest" strategy: matrix: - python-version: ["3.11"] + python-version: ["3.13"] os: [ubuntu-latest] steps: @@ -453,14 +453,21 @@ jobs: tox -e release-check manylinux: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - # We use a regular Python matrix entry to share as much code as possible. + # We use a matrix to share as much code as possible. strategy: matrix: - python-version: ["3.11"] - image: [manylinux2014_x86_64, manylinux2014_i686, manylinux2014_aarch64] - + include: + - os: ubuntu-latest + image: manylinux2014_x86_64 + python-version: "3.13" + - os: ubuntu-latest + image: manylinux2014_i686 + python-version: "3.13" + - os: ubuntu-24.04-arm + image: manylinux2014_aarch64 + python-version: "3.13" steps: - name: checkout uses: actions/checkout@v5 @@ -509,8 +516,9 @@ jobs: - name: Update pip run: pip install -U pip - - name: Build ExtensionClass (x86_64) - if: matrix.image == 'manylinux2014_x86_64' + + - name: Build ExtensionClass + if: matrix.image != 'manylinux2014_i686' # An alternate way to do this is to run the container directly with a uses: # and then the script runs inside it. That may work better with caching. # See https://github.com/pyca/bcrypt/blob/f6b5ee2eda76d077c531362ac65e16f045cf1f29/.github/workflows/wheel-builder.yml @@ -525,24 +533,19 @@ jobs: PRE_CMD: linux32 run: | bash .manylinux.sh - - name: Build ExtensionClass (aarch64) - if: matrix.image == 'manylinux2014_aarch64' - env: - DOCKER_IMAGE: quay.io/pypa/${{ matrix.image }} - run: | - # First we must enable emulation - docker run --rm --privileged hypriot/qemu-register - bash .manylinux.sh - name: Upload ExtensionClass wheels uses: actions/upload-artifact@v4 with: path: wheelhouse/*whl name: manylinux_${{ matrix.image }}_wheels.zip + - name: Restore pip cache permissions run: sudo chown -R $(whoami) ${{ steps.pip-cache-default.outputs.dir }} + - name: Prevent publishing wheels for unreleased Python versions run: VER=$(echo '3.15' | tr -d .) && ls -al wheelhouse && sudo rm -f wheelhouse/*-cp${VER}*.whl && ls -al wheelhouse + - name: Publish package to PyPI uses: pypa/gh-action-pypi-publish@release/v1 if: > diff --git a/.meta.toml b/.meta.toml index 01993f1..db90fd5 100644 --- a/.meta.toml +++ b/.meta.toml @@ -2,7 +2,7 @@ # https://github.com/zopefoundation/meta/tree/master/config/c-code [meta] template = "c-code" -commit-id = "d4b7f3ba" +commit-id = "4d8aead5" [python] with-windows = true