Skip to content

Ci/py314#797

Open
hongzhi-gao wants to merge 11 commits into
apache:developfrom
hongzhi-gao:ci/py314
Open

Ci/py314#797
hongzhi-gao wants to merge 11 commits into
apache:developfrom
hongzhi-gao:ci/py314

Conversation

@hongzhi-gao
Copy link
Copy Markdown
Contributor

Summary

  • Use manylinux2014 for Linux Python 3.9-3.13 wheels.
  • Build Python 3.14 wheels separately with manylinux_2_28.

Build Python 3.9-3.13 wheels on manylinux2014 and move Python 3.14 to a separate manylinux_2_28 job.
Restore pyarrow version constraints in Python packaging files without changing CI workflow updates.
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the GitHub Actions wheel build workflow to use different manylinux images depending on the Python ABI, keeping older Python wheels compatible with manylinux2014 while building Python 3.14 wheels with a newer manylinux_2_28 image.

Changes:

  • Split Linux cibuildwheel runs into two steps: cp39–cp313 (manylinux2014) and cp314 (manylinux_2_28).
  • Adjust Linux manylinux image selection accordingly while keeping the existing macOS build behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/wheels.yml Outdated
Comment thread .github/workflows/wheels.yml Outdated
Comment on lines +162 to +170
CIBW_BEFORE_ALL_LINUX: |
set -euxo pipefail
if command -v yum >/dev/null 2>&1; then
yum install -y wget tar gzip pkgconfig libuuid-devel libblkid-devel
elif command -v dnf >/dev/null 2>&1; then
dnf install -y wget tar gzip pkgconfig libuuid-devel libblkid-devel
else
echo "No supported package manager found (expected yum or dnf)." ; exit 1
fi
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

updated

Comment thread .github/workflows/wheels.yml Outdated
run: cibuildwheel --output-dir wheelhouse python

- name: Build wheels via cibuildwheel (Linux cp314)
if: matrix.platform != 'macos'
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

fixed

Use package-manager OpenJDK on manylinux_2_28, deduplicate shared Linux env via YAML anchor, and make Linux step conditions explicit.
…ed script.

GitHub Actions rejects top-level YAML anchors; move CIBW_BEFORE_ALL_LINUX logic into .github/scripts/cibw-before-all-linux.sh.
Disable FORCE_INLINE always_inline attribute on MinGW where recursive filter inlining hits max-inline-insns-single limits.
Bundle MinGW runtime DLLs with the C++ artifact and preload them before libtsfile.dll so pytest no longer fails with WinError 127 on Windows runners.
Use NEW policy behavior on CMake 4+ and pass CMAKE_POLICY_VERSION_MINIMUM to the utfcpp external project so local MinGW builds configure successfully.
libtsfile.dll no longer depends on libstdc++/libgcc DLLs from the C++ CI job, avoiding WinError 127 when wheel jobs use a different MSYS2 install. Python extensions still bundle runtime DLLs from the local compiler on PATH.
Resolve conflicts in util_define.h, python/setup.py and tsfile/__init__.py, keeping MinGW CI fixes and upstream MSVC/toolchain support.
Add the blank line Black requires before the module-level _preload_dll helper.
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