[NOGIL] Wheel creation and verification jobs - #2352
[NOGIL] Wheel creation and verification jobs#2352Ojasva Jain (ojasvajain) wants to merge 6 commits into
Conversation
|
🎉 All Contributor License Agreements have been signed. Ready to merge. |
|
Kaushik Raina (k-raina)
left a comment
There was a problem hiding this comment.
Thanks for PR! Left couple of comments
| # framework gets installed and the cpython314t interpreter is | ||
| # never created. | ||
| py_version_digits = cpython_tag[2:-1] | ||
| choicechanges_xml = os.path.join(script_dir, f"free-threaded-enable-{py_version_digits} .xml") |
There was a problem hiding this comment.
| choicechanges_xml = os.path.join(script_dir, f"free-threaded-enable-{py_version_digits} .xml") | |
| choicechanges_xml = os.path.join(script_dir, f"free-threaded-enable-{py_version_digits}.xml") |
| install_args = f"-applyChoiceChangesXML {choicechanges_xml} " | ||
| os.system(f"sudo installer -pkg {tmp_pkg_file_name} {install_args}-target /") | ||
|
|
||
| os.system(install_command) |
There was a problem hiding this comment.
Is this command redundant?
| set CIBW_BUILD=cp38-%BW_ARCH% cp39-%BW_ARCH% cp310-%BW_ARCH% cp311-%BW_ARCH% cp312-%BW_ARCH% cp313-%BW_ARCH% cp314-%BW_ARCH% | ||
| set CIBW_BEFORE_BUILD=python -m pip install delvewheel==1.1.4 | ||
| set CIBW_BUILD=cp38-%BW_ARCH% cp39-%BW_ARCH% cp310-%BW_ARCH% cp311-%BW_ARCH% cp312-%BW_ARCH% cp313-%BW_ARCH% cp314-%BW_ARCH% cp314t-%BW_ARCH% | ||
| set CIBW_BEFORE_BUILD=python -m pip install delvewheel==1.10.0 |
There was a problem hiding this comment.
Why is this change needed?
| "$PYTHON" -c "import sys, sysconfig; assert sysconfig.get_config_var('Py_GIL_DISABLED'), sys.executable + ' is not a free-threaded build'" | ||
|
|
||
| echo "# Importing must not re-enable the GIL" | ||
| "$PYTHON" -W error::RuntimeWarning -c "import sys, confluent_kafka; assert not sys._is_gil_enabled(), 'import re-enabled the GIL'" |
There was a problem hiding this comment.
-W error::RuntimeWarning Will it check all warnings or just GIL warning?
| - uv venv _venv314t --python 3.14t && source _venv314t/bin/activate | ||
| - uv pip install -r requirements/requirements-tests-install-nogil.txt | ||
| - artifact pull workflow artifacts | ||
| - cd artifacts && ls *.tgz |xargs -n1 tar -xvf && cd .. |
There was a problem hiding this comment.
Should we fail loudly if there are no artifacts?
| a.elect_leaders(correct_election_type, [correct_partitions]).result(timeout=1) | ||
|
|
||
|
|
||
| def _poll_until_callback_raises(admin, timeout_s=5.0, step_s=0.2, ignore=()): |
There was a problem hiding this comment.
Should we move this to helper? Currently used in test_Consumer.py also
| - export ARCH=x64 | ||
| # sem-version only provides a pip to bootstrap uv; the wheel runs in the 3.14t venv uv creates. | ||
| - sem-version python 3.11 | ||
| - pip install uv |
There was a problem hiding this comment.
Should we move common steps to helper script to reduce future maintenance?


Successful job run with wheel verification passing: https://semaphore.ci.confluent.io/workflows/680a3b0c-18db-4c97-a66a-499158b0e9ad?pipeline_id=8b6d3812-11d5-4a63-abca-121b2a77a14b
Checklist
References
JIRA:
Test & Review
Open questions / Follow-ups