This is an automated email from the ASF dual-hosted git repository.
kevinjqliu pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-python.git
The following commit(s) were added to refs/heads/main by this push:
new 8878b2c2 Fix Nightly PyPi Artifact Wheels Build (#2678)
8878b2c2 is described below
commit 8878b2c260bf62ad16ef6f8e8d3a6ae93103eff7
Author: Drew Gallardo <[email protected]>
AuthorDate: Mon Nov 3 07:26:53 2025 -0800
Fix Nightly PyPi Artifact Wheels Build (#2678)
# Rationale for this change
Nightly build has been failing for some time since dropping support
[python 3.9
support.](https://github.com/apache/iceberg-python/pull/2554/files#diff-edbf927c810f310a669913604ffe71ffaecea1b9ef73f137f9d469491ea1c3d9L72)
That PR included a change that dropped the upper bound of the python
version.
```
- CIBW_PROJECT_REQUIRES_PYTHON: ">=3.9,<3.13"
+ CIBW_PROJECT_REQUIRES_PYTHON: ">=3.10"
```
That made cibuildwheel try Python 3.14 and sometimes the free-threaded
*t builds. Those are part of the PEP 703 effort to allow Python without
the GIL. Therefore, the avro related code would throw a message breaking
the build and I don't think this has been evaluated yet. So this change
adds `CIBW_SKIP: "cp3*t-*" ` to skip free-threaded ABIs for now, and we
can continue building on new regular CPythons while avoiding PEP 703
no-GIL builds.
Bulld failures:
-
https://github.com/apache/iceberg-python/actions/workflows/nightly-pypi-build.yml
```
../venv-test-arm64/lib/python3.14t/site-packages/_pytest/assertion/rewrite.py:178:
in exec_module
exec(co, module.__dict__)
/Users/runner/work/iceberg-python/iceberg-python/tests/avro/test_decoder.py:29:
in <module>
from pyiceberg.avro.decoder_fast import CythonBinaryDecoder
E RuntimeWarning: The global interpreter lock (GIL) has been enabled to
load module 'pyiceberg.avro.decoder_fast', which has not declared that it can
run safely without the GIL. To override this behavior and keep the GIL disabled
(at your own risk), run with PYTHON_GIL=0 or -Xgil=0.
=========================== short test summary info
============================
ERROR
../../../../../../../../../Users/runner/work/iceberg-python/iceberg-python/tests/avro/test_decoder.py
- RuntimeWarning: The global interpreter lock (GIL) has been enabled to load
module 'pyiceberg.avro.decoder_fast', which has not declared that it can run
safely without the GIL. To override this behavior and keep the GIL disabled (at
your own risk), run with PYTHON_GIL=0 or -Xgil=0.
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection
!!!!!!!!!!!!!!!!!!!!
=============================== 1 error in 0.13s
===============================
```
## Are these changes tested?
Yes
## Are there any user-facing changes?
No
---
.github/workflows/pypi-build-artifacts.yml | 2 ++
.github/workflows/svn-build-artifacts.yml | 2 ++
2 files changed, 4 insertions(+)
diff --git a/.github/workflows/pypi-build-artifacts.yml
b/.github/workflows/pypi-build-artifacts.yml
index 65de2a78..7f749f75 100644
--- a/.github/workflows/pypi-build-artifacts.yml
+++ b/.github/workflows/pypi-build-artifacts.yml
@@ -74,6 +74,8 @@ jobs:
# Ignore tests for pypy since not all dependencies are compiled for
it
# and would require a local rust build chain
CIBW_TEST_SKIP: "pp*"
+ # Skip free-threaded (PEP 703) builds until we evaluate decoder_fast
support
+ CIBW_SKIP: "cp3*t-*"
- name: Add source distribution
if: startsWith(matrix.os, 'ubuntu')
diff --git a/.github/workflows/svn-build-artifacts.yml
b/.github/workflows/svn-build-artifacts.yml
index 116c6538..34075b79 100644
--- a/.github/workflows/svn-build-artifacts.yml
+++ b/.github/workflows/svn-build-artifacts.yml
@@ -69,6 +69,8 @@ jobs:
# Ignore tests for pypy since not all dependencies are compiled for
it
# and would require a local rust build chain
CIBW_TEST_SKIP: "pp*"
+ # Skip free-threaded (PEP 703) builds until we evaluate decoder_fast
support
+ CIBW_SKIP: "cp3*t-*"
- name: Add source distribution
if: startsWith(matrix.os, 'ubuntu')