From 671ecf955a9e5861517c698acbd13bcabbdb23e0 Mon Sep 17 00:00:00 2001 From: 761417898 <761417898@qq.com> Date: Thu, 30 Apr 2026 13:44:58 +0800 Subject: [PATCH 1/3] fix ci --- .github/workflows/wheels.yml | 4 ++-- python/pyproject.toml | 4 +--- python/requirements.txt | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 84af04f42..79bb3150d 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -108,8 +108,8 @@ jobs: CIBW_BUILD: "cp39-* cp310-* cp311-* cp312-* cp313-* cp314-*" CIBW_SKIP: "pp* *-musllinux*" - CIBW_MANYLINUX_X86_64_IMAGE: "manylinux_2_28" - CIBW_MANYLINUX_AARCH64_IMAGE: "manylinux_2_28" + CIBW_MANYLINUX_X86_64_IMAGE: "manylinux2014" + CIBW_MANYLINUX_AARCH64_IMAGE: "manylinux2014" MACOSX_DEPLOYMENT_TARGET: "12.0" diff --git a/python/pyproject.toml b/python/pyproject.toml index 3a2789853..624d26a96 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -39,9 +39,7 @@ dependencies = [ "numpy>=1.26.4,<3", "pandas>=2.0,<2.3; python_full_version < '3.14.0'", "pandas>=2.3.3; python_full_version >= '3.14.0'", - "pyarrow>=16.0,<18; python_version<'3.10'", - "pyarrow>=18.0,<20; python_version>='3.10' and python_version<'3.14'", - "pyarrow>=22.0,<24; python_version>='3.14'" + "pyarrow>=21.0.0,<24" ] [project.urls] diff --git a/python/requirements.txt b/python/requirements.txt index 057ab3518..38a2a3f71 100644 --- a/python/requirements.txt +++ b/python/requirements.txt @@ -25,4 +25,4 @@ pandas==2.2.2; python_full_version < "3.14.0" pandas>=2.3.3; python_full_version >= "3.14.0" setuptools==78.1.1 wheel==0.46.2 -pyarrow>=8.0.0 +pyarrow>=21.0.0,<24 From 34a3235702dd230a88807c330e89455caef42f1e Mon Sep 17 00:00:00 2001 From: 761417898 <761417898@qq.com> Date: Thu, 30 Apr 2026 15:36:21 +0800 Subject: [PATCH 2/3] update linux wheel images for py314 compatibility Build Python 3.9-3.13 wheels on manylinux2014 and move Python 3.14 to a separate manylinux_2_28 job. --- .github/workflows/wheels.yml | 52 ++++++++++++++++++++++++++++++++++-- 1 file changed, 50 insertions(+), 2 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 79bb3150d..ab24c9f5d 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -99,13 +99,13 @@ jobs: -Dcmake.args="-DCMAKE_OSX_DEPLOYMENT_TARGET=12.0" otool -l cpp/target/build/lib/libtsfile*.dylib | grep -A2 LC_VERSION_MIN_MACOSX || true - - name: Build wheels via cibuildwheel + - name: Build wheels via cibuildwheel (Linux cp39-cp313) if: matrix.platform != 'macos' env: CIBW_ARCHS_LINUX: ${{ matrix.cibw_archs_linux }} # CIBW_ARCHS_WINDOWS: ${{ matrix.cibw_archs_windows }} - CIBW_BUILD: "cp39-* cp310-* cp311-* cp312-* cp313-* cp314-*" + CIBW_BUILD: "cp39-* cp310-* cp311-* cp312-* cp313-*" CIBW_SKIP: "pp* *-musllinux*" CIBW_MANYLINUX_X86_64_IMAGE: "manylinux2014" @@ -144,6 +144,54 @@ jobs: python -c "import tsfile, tsfile.tsfile_reader as r; print('import-ok:')" CIBW_BUILD_VERBOSITY: "1" run: cibuildwheel --output-dir wheelhouse python + + - name: Build wheels via cibuildwheel (Linux cp314) + if: matrix.platform != 'macos' + env: + CIBW_ARCHS_LINUX: ${{ matrix.cibw_archs_linux }} +# CIBW_ARCHS_WINDOWS: ${{ matrix.cibw_archs_windows }} + + CIBW_BUILD: "cp314-*" + CIBW_SKIP: "pp* *-musllinux*" + + CIBW_MANYLINUX_X86_64_IMAGE: "manylinux_2_28" + CIBW_MANYLINUX_AARCH64_IMAGE: "manylinux_2_28" + + MACOSX_DEPLOYMENT_TARGET: "12.0" + + 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 + ARCH="$(uname -m)" + mkdir -p /opt/java + if [ "$ARCH" = "x86_64" ]; then + JDK_URL="https://download.oracle.com/java/17/archive/jdk-17.0.12_linux-x64_bin.tar.gz" + else + # aarch64 + JDK_URL="https://download.oracle.com/java/17/archive/jdk-17.0.12_linux-aarch64_bin.tar.gz" + fi + curl -L -o /tmp/jdk17.tar.gz "$JDK_URL" + tar -xzf /tmp/jdk17.tar.gz -C /opt/java + export JAVA_HOME=$(echo /opt/java/jdk-17.0.12*) + export PATH="$JAVA_HOME/bin:$PATH" + java -version + + chmod +x mvnw || true + ./mvnw -Pwith-cpp clean package \ + -DskipTests -Dbuild.test=OFF \ + -Dspotless.check.skip=true -Dspotless.apply.skip=true + test -d cpp/target/build/lib && test -d cpp/target/build/include + + CIBW_TEST_COMMAND: > + python -c "import tsfile, tsfile.tsfile_reader as r; print('import-ok:')" + CIBW_BUILD_VERBOSITY: "1" + run: cibuildwheel --output-dir wheelhouse python - name: Build wheels via cibuildwheel (macOS) if: matrix.platform == 'macos' From 43d13cf23d0236f56ac2625c70c45c5152c04a54 Mon Sep 17 00:00:00 2001 From: 761417898 <761417898@qq.com> Date: Thu, 30 Apr 2026 15:38:23 +0800 Subject: [PATCH 3/3] revert python pyarrow dependency changes Restore pyarrow version constraints in Python packaging files without changing CI workflow updates. --- python/pyproject.toml | 4 +++- python/requirements.txt | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/python/pyproject.toml b/python/pyproject.toml index 624d26a96..3a2789853 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -39,7 +39,9 @@ dependencies = [ "numpy>=1.26.4,<3", "pandas>=2.0,<2.3; python_full_version < '3.14.0'", "pandas>=2.3.3; python_full_version >= '3.14.0'", - "pyarrow>=21.0.0,<24" + "pyarrow>=16.0,<18; python_version<'3.10'", + "pyarrow>=18.0,<20; python_version>='3.10' and python_version<'3.14'", + "pyarrow>=22.0,<24; python_version>='3.14'" ] [project.urls] diff --git a/python/requirements.txt b/python/requirements.txt index 38a2a3f71..057ab3518 100644 --- a/python/requirements.txt +++ b/python/requirements.txt @@ -25,4 +25,4 @@ pandas==2.2.2; python_full_version < "3.14.0" pandas>=2.3.3; python_full_version >= "3.14.0" setuptools==78.1.1 wheel==0.46.2 -pyarrow>=21.0.0,<24 +pyarrow>=8.0.0