Skip to content

Conversation

@geruh
Copy link
Contributor

@geruh geruh commented Nov 2, 2025

Rationale for this change

Nightly build has been failing for some time since dropping support python 3.9 support. 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:

   ../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

Copy link
Contributor

@kevinjqliu kevinjqliu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for catching this! looks like the nightly build has been failing for a while.

This fix looks good to me. I think we also need to apply the same change to svn-build-artifacts.yml

@kevinjqliu
Copy link
Contributor

i tested it out on my fork, it works!
https://github.com/kevinjqliu/iceberg-python/actions/runs/19021268491

Copy link
Contributor

@kevinjqliu kevinjqliu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@kevinjqliu kevinjqliu merged commit 8878b2c into apache:main Nov 3, 2025
2 checks passed
@kevinjqliu
Copy link
Contributor

trigger the nightly build, https://github.com/apache/iceberg-python/actions/runs/19039807174
and it works! https://test.pypi.org/project/pyiceberg/

Thanks for the fix @geruh

kevinjqliu added a commit that referenced this pull request Nov 17, 2025
<!--
Thanks for opening a pull request!
-->

<!-- In the case this PR will resolve an issue, please replace
${GITHUB_ISSUE_ID} below with the actual Github issue id. -->
<!-- Closes #${GITHUB_ISSUE_ID} -->

# Rationale for this change
nightly pypi silently fails (#2678) 
This PR adds notification when github workflow fails
Sent to `ci-jobs@iceberg.apache.org`

## Are these changes tested?

## Are there any user-facing changes?

<!-- In the case of user-facing changes, please add the changelog label.
-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants