From 98721eb0f9afa5f447cfc9fc6165e51093832b9e Mon Sep 17 00:00:00 2001 From: Brad Barnett <127794626+bdbarnett@users.noreply.github.com> Date: Thu, 15 Oct 2026 17:11:15 -0500 Subject: [PATCH 1/2] Wheel test: check the GIL only on free-threaded builds 9.5.51's publish failed at every wheel's test: the GIL check also ran on regular builds, where the GIL is always on. --- .github/workflows/wheel-test-check.yml | 19 +++++++++++++++++++ pyproject.toml | 5 +++-- 2 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/wheel-test-check.yml diff --git a/.github/workflows/wheel-test-check.yml b/.github/workflows/wheel-test-check.yml new file mode 100644 index 0000000..b85af9a --- /dev/null +++ b/.github/workflows/wheel-test-check.yml @@ -0,0 +1,19 @@ +# Temporary: runs the release's cibuildwheel test on a regular and the 3.15 +# builds, Linux and Windows, for this PR. Removed before merge. +name: wheel test check +on: pull_request +jobs: + wheels: + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, windows-latest] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v7 + with: + submodules: recursive + - uses: pypa/cibuildwheel@v4.2.1 + env: + CIBW_BUILD: "cp313-* cp315-* cp315t-*" + CIBW_SKIP: "*musllinux* *-win32" diff --git a/pyproject.toml b/pyproject.toml index 76a7744..ccd8e63 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -24,8 +24,9 @@ py-modules = ["fs_driver"] build = "cp311-* cp312-* cp313-* cp314-* cp315-* cp315t-*" # 3.15 and 3.15t on Linux and Windows only, for now. skip = "*musllinux* *-macosx_* *-win32 cp315*-android_* cp315*-pyodide_*" -# On free-threaded builds, importing lvgl must leave the GIL off. -test-command = "python -c \"import sys, lvgl as lv; lv.init(); lv.deinit(); assert not getattr(sys, '_is_gil_enabled', lambda: False)(), 'importing lvgl enabled the GIL'\"" +# On free-threaded builds, importing lvgl must leave the GIL off. Regular +# builds always have the GIL, so the check applies only where Py_GIL_DISABLED. +test-command = "python -c \"import sys, sysconfig, lvgl as lv; lv.init(); lv.deinit(); assert not (sysconfig.get_config_var('Py_GIL_DISABLED') and sys._is_gil_enabled()), 'importing lvgl enabled the GIL'\"" # cp314: import test passes then segfaults on interpreter shutdown after lv.deinit() test-skip = "cp314-*" From 2f8d9f12039e98739455a4c4055564fbd7820d7d Mon Sep 17 00:00:00 2001 From: Brad Barnett <127794626+bdbarnett@users.noreply.github.com> Date: Thu, 15 Oct 2026 17:18:18 -0500 Subject: [PATCH 2/2] Remove the temporary wheel test check --- .github/workflows/wheel-test-check.yml | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 .github/workflows/wheel-test-check.yml diff --git a/.github/workflows/wheel-test-check.yml b/.github/workflows/wheel-test-check.yml deleted file mode 100644 index b85af9a..0000000 --- a/.github/workflows/wheel-test-check.yml +++ /dev/null @@ -1,19 +0,0 @@ -# Temporary: runs the release's cibuildwheel test on a regular and the 3.15 -# builds, Linux and Windows, for this PR. Removed before merge. -name: wheel test check -on: pull_request -jobs: - wheels: - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-latest] - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v7 - with: - submodules: recursive - - uses: pypa/cibuildwheel@v4.2.1 - env: - CIBW_BUILD: "cp313-* cp315-* cp315t-*" - CIBW_SKIP: "*musllinux* *-win32"