From 641554808ef0c3f81e713d796b4b07db0d6c2479 Mon Sep 17 00:00:00 2001 From: Jacob Alexander Date: Sat, 30 May 2026 11:02:19 -0700 Subject: [PATCH] ci: bump actions to Node 24 runtimes and clean up cibuildwheel config - Bump actions/upload-artifact to v6, actions/setup-python to v6, actions/checkout to v5, and docker/setup-qemu-action to v4 so all actions run on Node 24 (Node 20 is deprecated on GitHub runners). - Bump pypa/cibuildwheel to v3.4.1 so its bundled actions/setup-python also runs on Node 24. - Drop CIBW_SKIP=pp*: PyPy is no longer enabled by default in cibuildwheel 3.x, so the selector matched nothing and triggered an "Invalid skip selector" warning. - Add CIBW_TEST_SKIP for cp38 macOS arm64 to silence the cibuildwheel warning that the arm64 slice of cp38 universal2 wheels can't be tested (the cp38 installer is x86_64-only). --- .github/workflows/docs.yml | 10 +++++----- .github/workflows/wheels.yml | 14 +++++++------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index d407580..571a9de 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -11,9 +11,9 @@ jobs: docs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: '3.12' - name: Install dependencies @@ -28,7 +28,7 @@ jobs: run: | sphinx-build docs build/html - name: Upload documentation artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v6 with: name: html-docs path: build/html @@ -40,9 +40,9 @@ jobs: permissions: contents: write steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: '3.12' - name: Install dependencies diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 51caacf..ee74647 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -43,23 +43,23 @@ jobs: - name: Set up QEMU if: runner.os == 'Linux' - uses: docker/setup-qemu-action@v3 + uses: docker/setup-qemu-action@v4 - name: Build wheels - uses: pypa/cibuildwheel@v3.1.4 + uses: pypa/cibuildwheel@v3.4.1 with: output-dir: wheelhouse env: CIBW_ARCHS: ${{ matrix.arch }} - # TODO: Disable building PyPy wheels. If the build system gets modernized, this should be - # auto-detected based on the Cython dependency. - CIBW_SKIP: pp* CIBW_TEST_REQUIRES: pytest pytest-asyncio CIBW_TEST_COMMAND: pytest {project} + # cibuildwheel can build cp38 macOS universal2/arm64 wheels but can't test the + # arm64 slice because the cp38 installer is x86_64-only. Silence the warning. + CIBW_TEST_SKIP: "cp38-macosx_*:arm64" # Only needed to make the macosx arm64 build work CMAKE_OSX_ARCHITECTURES: "${{ matrix.arch == 'arm64' && 'arm64' || '' }}" - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v6 with: name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }} path: ./wheelhouse/*.whl @@ -73,7 +73,7 @@ jobs: - name: Build sdist run: pipx run build --sdist - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v6 with: name: cibw-sdist path: dist/*.tar.gz