From bfa95c8e32393f6dd4a0141768c67d02c3d52ed6 Mon Sep 17 00:00:00 2001 From: ColinLee Date: Mon, 9 Mar 2026 13:28:10 +0800 Subject: [PATCH 1/5] fix some err. --- cpp/1761643915818-1-0-0.tsfile | Bin 0 -> 175694 bytes cpp/CMakeLists.txt | 4 + cpp/src/common/path.h | 10 +- .../tree_view/tsfile_reader_tree_test.cc | 54 +++++ cpp/third_party/zlib-1.3.1/treebuild.xml | 188 +++++++++--------- .../zlib-1.3.1/zlib-1.3.1/treebuild.xml | 188 +++++++++--------- python/tests/test_dataframe.py | 5 + 7 files changed, 254 insertions(+), 195 deletions(-) create mode 100644 cpp/1761643915818-1-0-0.tsfile diff --git a/cpp/1761643915818-1-0-0.tsfile b/cpp/1761643915818-1-0-0.tsfile new file mode 100644 index 0000000000000000000000000000000000000000..1c0c26495345c3ba8544d847ffa41fc02ec472e7 GIT binary patch literal 175694 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

Woq6r1B;0&itucTsGP5*~LIl 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 LpH`&?!>9iZ@CRe_ literal 0 HcmV?d00001 diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index c85150d8f..45e630101 100755 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -143,6 +143,10 @@ if (ENABLE_ZLIB) add_definitions(-DENABLE_GZIP) endif() +if (ENABLE_ANTLR4) + add_definitions(-DENABLE_ANTLR4) +endif() + # All libs will be stored here, including libtsfile, compress-encoding lib. set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib) diff --git a/cpp/src/common/path.h b/cpp/src/common/path.h index 55abf810d..23b37c4be 100644 --- a/cpp/src/common/path.h +++ b/cpp/src/common/path.h @@ -57,9 +57,13 @@ struct Path { IDeviceID::split_string(path_sc, '.'); #endif if (nodes.size() > 1) { - device_id_ = std::make_shared( - std::vector(nodes.begin(), - nodes.end() - 1)); + std::string device_str; + for (size_t j = 0; j + 1 < nodes.size(); ++j) { + if (j > 0) device_str += "."; + device_str += nodes[j]; + } + device_id_ = + std::make_shared(device_str); measurement_ = nodes[nodes.size() - 1]; full_path_ = device_id_->get_device_name() + "." + measurement_; diff --git a/cpp/test/reader/tree_view/tsfile_reader_tree_test.cc b/cpp/test/reader/tree_view/tsfile_reader_tree_test.cc index ffcaa20fa..84b994dfc 100644 --- a/cpp/test/reader/tree_view/tsfile_reader_tree_test.cc +++ b/cpp/test/reader/tree_view/tsfile_reader_tree_test.cc @@ -410,3 +410,57 @@ TEST_F(TsFileTreeReaderTest, ExtendedRowsAndColumnsTest) { delete measurement; } } + +TEST_F(TsFileTreeReaderTest, ExtendedRowsAndColumnsTest1) { + TsFileTreeReader reader; + reader.open("/Users/colin/dev/tsfile/cpp/1761643915818-1-0-0.tsfile"); + auto read_device_ids = reader.get_all_device_ids(); + ResultSet* result; + int ret = + reader.query({"root.sensors.TH"}, {"t", "h"}, 0, INT64_MAX, result); + ASSERT_EQ(ret, E_OK); + auto iter = result->iterator(); + int row_count = 0; + + while (iter.hasNext()) { + RowRecord* read_record = iter.next(); + row_count++; + + // device_id1 + for (size_t i = 0; i < 2; ++i) { + Field* field = read_record->get_field(i + 1); + ASSERT_NE(field, nullptr); + + int64_t timestamp = read_record->get_timestamp(); + int row_index = timestamp / 1000; + + switch (field->type_) { + case INT64: { + EXPECT_EQ(field->get_value(), + static_cast(row_index + i)); + break; + } + case DOUBLE: { + EXPECT_NEAR(field->get_value(), row_index * 1.5 + + i, + 0.001); + break; + } + case FLOAT: { + EXPECT_NEAR(field->get_value(), row_index * 0.8f + + i, + 0.001f); + break; + } + case INT32: { + EXPECT_EQ(field->get_value(), + static_cast(row_index * 2 + i)); + break; + } + default: + break; + } + } + } + +} diff --git a/cpp/third_party/zlib-1.3.1/treebuild.xml b/cpp/third_party/zlib-1.3.1/treebuild.xml index 930b00be4..8e030572a 100644 --- a/cpp/third_party/zlib-1.3.1/treebuild.xml +++ b/cpp/third_party/zlib-1.3.1/treebuild.xml @@ -1,103 +1,99 @@ - + - zip compression library - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + zip compression library + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + zip compression library + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - jenkins-build diff --git a/java/common/pom.xml b/java/common/pom.xml index 264bdd085..7fd8e2d2c 100644 --- a/java/common/pom.xml +++ b/java/common/pom.xml @@ -24,7 +24,7 @@ org.apache.tsfile tsfile-java - 2.2.1-SNAPSHOT + 2.2.0 common TsFile: Java: Common diff --git a/java/examples/pom.xml b/java/examples/pom.xml index 264b46f03..90621665d 100644 --- a/java/examples/pom.xml +++ b/java/examples/pom.xml @@ -24,7 +24,7 @@ org.apache.tsfile tsfile-java - 2.2.1-SNAPSHOT + 2.2.0 examples TsFile: Java: Examples @@ -36,7 +36,7 @@ org.apache.tsfile tsfile - 2.2.1-SNAPSHOT + 2.2.0 diff --git a/java/pom.xml b/java/pom.xml index 7587a67e5..56ae44872 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -24,10 +24,10 @@ org.apache.tsfile tsfile-parent - 2.2.1-SNAPSHOT + 2.2.0 tsfile-java - 2.2.1-SNAPSHOT + 2.2.0 pom TsFile: Java diff --git a/java/tools/pom.xml b/java/tools/pom.xml index 42ba58b0c..cc45b1e56 100644 --- a/java/tools/pom.xml +++ b/java/tools/pom.xml @@ -24,7 +24,7 @@ org.apache.tsfile tsfile-java - 2.2.1-SNAPSHOT + 2.2.0 tools TsFile: Java: Tools @@ -32,7 +32,7 @@ org.apache.tsfile common - 2.2.1-SNAPSHOT + 2.2.0 commons-cli @@ -42,7 +42,7 @@ org.apache.tsfile tsfile - 2.2.1-SNAPSHOT + 2.2.0 ch.qos.logback diff --git a/java/tsfile/pom.xml b/java/tsfile/pom.xml index a3d919f2a..cea669e1d 100644 --- a/java/tsfile/pom.xml +++ b/java/tsfile/pom.xml @@ -24,7 +24,7 @@ org.apache.tsfile tsfile-java - 2.2.1-SNAPSHOT + 2.2.0 tsfile TsFile: Java: TsFile @@ -38,7 +38,7 @@ org.apache.tsfile common - 2.2.1-SNAPSHOT + 2.2.0 com.github.luben diff --git a/pom.xml b/pom.xml index cb06548b4..fb18eaca6 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ org.apache.tsfile tsfile-parent - 2.2.1-SNAPSHOT + 2.2.0 pom Apache TsFile Project Parent POM @@ -135,6 +135,10 @@ **/tsfile.egg-info/** **/third_party/** + **/.python-version + **/**venv-py**/** + **/.python-version + python/.python-version @@ -445,6 +449,8 @@ 4 **/target/** + python/.python-version + **/.python-version @@ -751,8 +757,8 @@ win windows-amd64 MinGW Makefiles - venv/Scripts/ - python + + python.exe diff --git a/python/pom.xml b/python/pom.xml index 7a39fc7aa..59907c256 100644 --- a/python/pom.xml +++ b/python/pom.xml @@ -22,7 +22,7 @@ org.apache.tsfile tsfile-parent - 2.2.1-SNAPSHOT + 2.2.0 tsfile-python pom @@ -41,21 +41,6 @@ exec-maven-plugin - - python-venv - initialize - - exec - - - ${python.exe.bin} - - -m - venv - ${project.basedir}/venv - - - python-upgrade-pip initialize @@ -63,7 +48,7 @@ exec - ${python.venv.bin}${python.exe.bin} + ${python.exe.bin} -m pip @@ -80,7 +65,7 @@ exec - ${python.venv.bin}${python.exe.bin} + ${python.exe.bin} -m pip @@ -97,7 +82,7 @@ exec - ${python.venv.bin}${python.exe.bin} + ${python.exe.bin} setup.py build_ext @@ -112,7 +97,7 @@ exec - ${python.venv.bin}${python.exe.bin} + ${python.exe.bin} -m pip @@ -121,19 +106,6 @@ - - run-python-tests - test - - exec - - - ${python.venv.bin}pytest - - ${project.basedir}/tests - - - build-whl package @@ -141,7 +113,7 @@ exec - ${python.venv.bin}${python.exe.bin} + ${python.exe.bin} setup.py bdist_wheel diff --git a/python/pyproject.toml b/python/pyproject.toml new file mode 100644 index 000000000..a7d275dec --- /dev/null +++ b/python/pyproject.toml @@ -0,0 +1,69 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +[build-system] +requires = [ + "setuptools>=69", + "wheel", + "Cython>=3", + "numpy>=1.20" + ] + +build-backend = "setuptools.build_meta" + +[project] +name = "tsfile" +version = "2.2.0" +requires-python = ">=3.9" +description = "TsFile Python" +readme = {file = "README.md", content-type = "text/markdown"} +maintainers = [ + {name = "Apache TsFile Developers", email = "dev@tsfile.apache.org"} +] +dependencies = [ + "numpy>=1.20", + "pandas>=2.0" +] + +[project.urls] +Homepage = "https://tsfile.apache.org/" +Documentation = "https://tsfile.apache.org/zh/UserGuide/latest/QuickStart/Navigating_Time_Series_Data.html" +Repository = "https://github.com/apache/tsfile" +Issues = "https://github.com/apache/tsfile/issues" + +[tool.setuptools] +package-dir = {"" = "."} + +[tool.setuptools.packages.find] +where = ["."] +include = ["tsfile*"] + +[tool.setuptools.package-data] +tsfile = [ + "*.pxd", + "*.pxi", + "*.so", + "*.so.*", + "*.dylib", + "*.dylib.*", + "*.dll", + "*.dll.a", + "*.lib", + "*.lib.a", + "include/**/*" +] diff --git a/python/requirements.txt b/python/requirements.txt index 5b1c19aa2..dbfac3bca 100644 --- a/python/requirements.txt +++ b/python/requirements.txt @@ -18,8 +18,8 @@ # cython==3.0.10 -numpy==1.26.4 -pandas==2.2.2 +numpy +pandas setuptools==78.1.1 wheel==0.46.2 diff --git a/python/setup.py b/python/setup.py index 9f2a1a37a..51c794ca5 100644 --- a/python/setup.py +++ b/python/setup.py @@ -19,151 +19,120 @@ import os import platform import shutil - +import sys import numpy as np + +from pathlib import Path from Cython.Build import cythonize from setuptools import setup, Extension from setuptools.command.build_ext import build_ext -version = "2.2.1.dev" -system = platform.system() - - -def copy_tsfile_lib(source_dir, target_dir, suffix): - lib_file_name = f"libtsfile.{suffix}" - source = os.path.join(source_dir, lib_file_name) - target = os.path.join(target_dir, lib_file_name) - - if os.path.exists(source): - shutil.copyfile(source, target) - - if system == "Linux": - link_name = os.path.join(target_dir, "libtsfile.so") - if os.path.exists(link_name): - os.remove(link_name) - os.symlink(lib_file_name, link_name) - elif system == "Darwin": - link_name = os.path.join(target_dir, "libtsfile.dylib") - if os.path.exists(link_name): - os.remove(link_name) - os.symlink(lib_file_name, link_name) - - -project_dir = os.path.dirname(os.path.abspath(__file__)) -tsfile_py_include = os.path.join(project_dir, "tsfile", "include") - -if os.path.exists(tsfile_py_include): - shutil.rmtree(tsfile_py_include) - -shutil.copytree( - os.path.join(project_dir, "..", "cpp", "target", "build", "include"), - os.path.join(tsfile_py_include, ""), -) - - -def copy_tsfile_header(source): - for file in source: - if os.path.exists(file): - target = os.path.join(tsfile_py_include, os.path.basename(file)) - shutil.copyfile(file, target) +ROOT = Path(__file__).parent.resolve() +PKG = ROOT / "tsfile" +CPP_OUT = ROOT / ".." / "cpp" / "target" / "build" +CPP_LIB = CPP_OUT / "lib" +CPP_INC = CPP_OUT / "include" +version = "2.2.1" +system = platform.system() -## Copy C wrapper header. -# tsfile/cpp/src/cwrapper/tsfile_cwrapper.h -source_headers = [ - os.path.join(project_dir, "..", "cpp", "src", "cwrapper", "tsfile_cwrapper.h"), -] - -copy_tsfile_header(source_headers) - -## Copy shared library -tsfile_shared_source_dir = os.path.join(project_dir, "..", "cpp", "target", "build", "lib") -tsfile_shared_dir = os.path.join(project_dir, "tsfile") - -if system == "Darwin": - copy_tsfile_lib(tsfile_shared_source_dir, tsfile_shared_dir, version + ".dylib") -elif system == "Linux": - copy_tsfile_lib(tsfile_shared_source_dir, tsfile_shared_dir, "so." + version) +(PKG / "include").mkdir(exist_ok=True) +if (PKG / "include").exists() and CPP_INC.exists(): + shutil.rmtree(PKG / "include") + shutil.copytree(CPP_INC, PKG / "include") +if sys.platform.startswith("linux"): + candidates = sorted(CPP_LIB.glob("libtsfile.so*"), key=lambda p: len(p.name), reverse=True) + if not candidates: + raise FileNotFoundError("missing libtsfile.so* in build output") + src = candidates[0] + dst = PKG / src.name + shutil.copy2(src, dst) + link_name = PKG / "libtsfile.so" + shutil.copy2(src, link_name) + +elif sys.platform == "darwin": + candidates = sorted(CPP_LIB.glob("libtsfile.*.dylib")) or list(CPP_LIB.glob("libtsfile.dylib")) + if not candidates: + raise FileNotFoundError("missing libtsfile*.dylib in build output") + src = candidates[0] + dst = PKG / src.name + shutil.copy2(src, dst) + link_name = PKG / "libtsfile.dylib" + shutil.copy2(src, link_name) +elif sys.platform == "win32": + for base_name in ("libtsfile",): + dll_candidates = sorted(CPP_LIB.glob(f"{base_name}*.dll"), key=lambda p: len(p.name), reverse=True) + dll_a_candidates = sorted(CPP_LIB.glob(f"{base_name}*.dll.a"), key=lambda p: len(p.name), reverse=True) + + if not dll_candidates: + raise FileNotFoundError(f"missing {base_name}*.dll in build output") + if not dll_a_candidates: + raise FileNotFoundError(f"missing {base_name}*.dll.a in build output") + + dll_src = dll_candidates[0] + dll_a_src = dll_a_candidates[0] + + shutil.copy2(dll_src, PKG / f"{base_name}.dll") + shutil.copy2(dll_a_src, PKG / f"{base_name}.dll.a") else: - copy_tsfile_lib(tsfile_shared_source_dir, tsfile_shared_dir, "dll") - -tsfile_include_dir = os.path.join(project_dir, "tsfile", "include") - -ext_modules_tsfile = [ - # utils: from python to c or c to python. - Extension( - "tsfile.tsfile_py_cpp", - sources=[os.path.join("tsfile", "tsfile_py_cpp.pyx")], - libraries=["tsfile"], - library_dirs=[tsfile_shared_dir], - include_dirs=[tsfile_include_dir, np.get_include()], - runtime_library_dirs=[tsfile_shared_dir] if system != "Windows" else None, - extra_compile_args=( - ["-std=c++11"] if system != "Windows" else ["-std=c++11", "-DMS_WIN64"] - ), - language="c++", - ), - # query data and describe schema: tsfile reader module - Extension( - "tsfile.tsfile_reader", - sources=[os.path.join("tsfile", "tsfile_reader.pyx")], - libraries=["tsfile"], - library_dirs=[tsfile_shared_dir], - depends=[os.path.join("tsfile", "tsfile_py_cpp.pxd")], - include_dirs=[tsfile_include_dir, np.get_include()], - runtime_library_dirs=[tsfile_shared_dir] if system != "Windows" else None, - extra_compile_args=( - ["-std=c++11"] if system != "Windows" else ["-std=c++11", "-DMS_WIN64"] - ), - language="c++", - ), - # write data and register schema: tsfile writer module - Extension( - "tsfile.tsfile_writer", - sources=[os.path.join("tsfile", "tsfile_writer.pyx")], - libraries=["tsfile"], - library_dirs=[tsfile_shared_dir], - depends=[os.path.join("tsfile", "tsfile_py_cpp.pxd")], - include_dirs=[tsfile_include_dir, np.get_include()], - runtime_library_dirs=[tsfile_shared_dir] if system != "Windows" else None, - extra_compile_args=( - ["-std=c++11"] if system != "Windows" else ["-std=c++11", "-DMS_WIN64"] - ), - language="c++", - ) -] + raise RuntimeError(f"Unsupported platform: {sys.platform}") class BuildExt(build_ext): - def build_extensions(self): - numpy_include = np.get_include() - for ext in self.extensions: - ext.include_dirs.append(numpy_include) - super().build_extensions() + def run(self): + super().run() def finalize_options(self): - if system == "Windows": + if sys.platform == "win32": self.compiler = "mingw32" super().finalize_options() +extra_compile_args = [] +extra_link_args = [] +runtime_library_dirs = [] +libraries = [] +library_dirs = [str(PKG)] +include_dirs = [str(PKG), np.get_include(), str(PKG / "include")] + +if sys.platform.startswith("linux"): + libraries = ["tsfile"] + extra_compile_args += ["-O3", "-std=c++11", "-fvisibility=hidden", "-fPIC"] + runtime_library_dirs = ["$ORIGIN"] + extra_link_args += ["-Wl,-rpath,$ORIGIN"] +elif sys.platform == "darwin": + libraries = ["tsfile"] + extra_compile_args += ["-O3", "-std=c++11", "-fvisibility=hidden", "-fPIC"] + extra_link_args += ["-Wl,-rpath,@loader_path", "-stdlib=libc++"] +elif sys.platform == "win32": + libraries = ["Tsfile"] + extra_compile_args += ["-O2", "-std=c++11", "-DSIZEOF_VOID_P=8", "-D__USE_MINGW_ANSI_STDIO=1", "-DMS_WIN64", + "-D_WIN64"] +else: + raise RuntimeError(f"Unsupported platform: {sys.platform}") + +common = dict( + language="c++", + include_dirs=include_dirs, + library_dirs=library_dirs, + libraries=libraries, + extra_compile_args=extra_compile_args, + extra_link_args=extra_link_args, + runtime_library_dirs=runtime_library_dirs, +) + +exts = [ + Extension("tsfile.tsfile_py_cpp", ["tsfile/tsfile_py_cpp.pyx"], **common), + Extension("tsfile.tsfile_reader", ["tsfile/tsfile_reader.pyx"], **common), + Extension("tsfile.tsfile_writer", ["tsfile/tsfile_writer.pyx"], **common), +] + setup( name="tsfile", - version=version, - description="Tsfile reader and writer for python", - url="https://tsfile.apache.org", - author='"Apache TsFile"', + version="2.1.0", packages=["tsfile"], - license="Apache 2.0", - ext_modules=cythonize(ext_modules_tsfile), - cmdclass={"build_ext": BuildExt}, - include_dirs=[np.get_include()], - package_dir={"tsfile": "./tsfile"}, - package_data={ - "tsfile": [ - "libtsfile.*", - "*.pxd" - ] - }, + package_dir={"": "."}, include_package_data=True, + ext_modules=cythonize(exts, compiler_directives={"language_level": 3}), + cmdclass={"build_ext": BuildExt}, ) diff --git a/python/tsfile/__init__.py b/python/tsfile/__init__.py index a9237257b..aaa61a2cd 100644 --- a/python/tsfile/__init__.py +++ b/python/tsfile/__init__.py @@ -19,9 +19,15 @@ import ctypes import os import platform -system = platform.system() -if system == "Windows": - ctypes.WinDLL(os.path.join(os.path.dirname(__file__), "libtsfile.dll"), winmode=0) +import sys + +if sys.platform == "win32": + _pkg_dir = os.path.dirname(os.path.abspath(__file__)) + try: + os.add_dll_directory(_pkg_dir) + except (OSError, AttributeError): + pass + os.environ["PATH"] = _pkg_dir + os.pathsep + os.environ.get("PATH", "") from .constants import * from .schema import * diff --git a/python/tsfile/tsfile_cpp.pxd b/python/tsfile/tsfile_cpp.pxd index 9c65fb26f..f90b23089 100644 --- a/python/tsfile/tsfile_cpp.pxd +++ b/python/tsfile/tsfile_cpp.pxd @@ -22,7 +22,7 @@ from libc.stdint cimport uint32_t, int32_t, int64_t, uint64_t, uint8_t ctypedef int32_t ErrorCode # import symbols from tsfile_cwrapper.h -cdef extern from "./tsfile_cwrapper.h": +cdef extern from "cwrapper/tsfile_cwrapper.h": # common ctypedef int64_t timestamp @@ -215,7 +215,7 @@ cdef extern from "./tsfile_cwrapper.h": -cdef extern from "./common/config/config.h" namespace "common": +cdef extern from "common/config/config.h" namespace "common": cdef cppclass ConfigValue: uint32_t tsblock_mem_inc_step_size_ uint32_t tsblock_max_memory_ @@ -237,7 +237,7 @@ cdef extern from "./common/config/config.h" namespace "common": uint8_t string_encoding_type_; uint8_t default_compression_type_; -cdef extern from "./common/global.h" namespace "common": +cdef extern from "common/global.h" namespace "common": ConfigValue g_config_value_ int set_datatype_encoding(uint8_t data_type, uint8_t encoding) int set_global_compression(uint8_t compression) From 5583db7aa290df7cb08448803587a285b0d5f066 Mon Sep 17 00:00:00 2001 From: ColinLee Date: Wed, 11 Mar 2026 23:00:38 +0800 Subject: [PATCH 3/5] support release on ci. --- .github/workflows/wheels.yml | 146 +++++++++++++++++++++++++++++------ 1 file changed, 121 insertions(+), 25 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 70a364385..ca66ff41b 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -1,14 +1,6 @@ name: Build TsFile wheels(multi-platform) on: - push: - branches: - - "release_v*.*.*" - pull_request: - paths: - - "cpp/**" - - "python/**" - - ".github/**" workflow_dispatch: jobs: @@ -38,11 +30,7 @@ jobs: os: macos-latest platform: macos cibw_archs_macos: "arm64" -# currently, compile on windows is not supported for cibuildwheel -# - name: windows-amd64 -# os: windows-2022 -# platform: windows -# cibw_archs_windows: "AMD64" +# Windows is handled by the build-windows job below steps: - name: Checkout @@ -74,16 +62,6 @@ jobs: python -m pip install -U pip wheel python -m pip install cibuildwheel==2.21.3 -# - name: Build C++ core via Maven(win) -# if: matrix.platform == 'windows' -# shell: bash -# run: | -# set -euxo pipefail -# chmod +x mvnw || true -# ./mvnw -Pwith-cpp clean verify package \ -# -DskipTests -Dspotless.check.skip=true -Dspotless.apply.skip=true -# test -d cpp/target/build/lib -# test -d cpp/target/build/include - name: Build C++ core via Maven (macOS) if: matrix.platform == 'macos' @@ -165,5 +143,123 @@ jobs: with: name: tsfile-wheels-${{ matrix.name }} path: wheelhouse/*.whl - - + + # ── Windows: build C++ once, then build wheels for each Python version ── + build-windows-cpp: + name: Build C++ core (Windows) + runs-on: windows-2022 + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: false + fetch-depth: 0 + + - name: Set up Java 17 + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: "17" + + - name: Set up MSYS2 / MinGW + uses: msys2/setup-msys2@v2 + with: + msystem: MINGW64 + update: true + install: >- + mingw-w64-x86_64-gcc + mingw-w64-x86_64-cmake + mingw-w64-x86_64-make + make + + - name: Build C++ core via Maven + shell: msys2 {0} + run: | + set -euxo pipefail + export PATH="/c/Program Files/Eclipse Adoptium/jdk-17*/bin:$PATH" + java -version + chmod +x mvnw || true + ./mvnw -Pwith-cpp clean verify package \ + -DskipTests -Dspotless.check.skip=true -Dspotless.apply.skip=true + test -d cpp/target/build/lib + test -d cpp/target/build/include + + - name: Upload C++ build output + uses: actions/upload-artifact@v4 + with: + name: tsfile-cpp-windows + path: | + cpp/target/build/lib/ + cpp/target/build/include/ + + build-windows-wheels: + name: Build wheel (Windows, Python ${{ matrix.python-version }}) + needs: build-windows-cpp + runs-on: windows-2022 + strategy: + fail-fast: false + matrix: + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: false + fetch-depth: 0 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + + - name: Set up Java 17 + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: "17" + + - name: Set up MSYS2 / MinGW + uses: msys2/setup-msys2@v2 + with: + msystem: MINGW64 + update: false + install: >- + mingw-w64-x86_64-gcc + mingw-w64-x86_64-make + make + + - name: Download C++ build output + uses: actions/download-artifact@v4 + with: + name: tsfile-cpp-windows + path: cpp/target/build/ + + - name: Build wheel + shell: msys2 {0} + run: | + set -euxo pipefail + PYEXE=$(cygpath "$(which python)") + export PATH="/c/Program Files/Eclipse Adoptium/jdk-17*/bin:$PATH" + + # Install Python build dependencies + python -m pip install --upgrade pip + python -m pip install -r python/requirements.txt + + # Build wheel via Maven (skip C++ rebuild, only python package) + chmod +x mvnw || true + cd python + python setup.py bdist_wheel + ls -la dist/ + + - name: Verify wheel + shell: bash + run: | + python -m pip install python/dist/*.whl + python -c "import tsfile, tsfile.tsfile_reader as r; print('import-ok')" + + - name: Upload wheel + uses: actions/upload-artifact@v4 + with: + name: tsfile-wheels-windows-py${{ matrix.python-version }} + path: python/dist/*.whl + From 5e2aebac81f4c424eed450b12e58dc5088211484 Mon Sep 17 00:00:00 2001 From: ColinLee Date: Wed, 11 Mar 2026 23:41:52 +0800 Subject: [PATCH 4/5] fix compile on win. --- .github/workflows/wheels.yml | 7 ++++--- python/VersionUpdater.groovy | 20 ++++++++++++++++++-- python/setup.py | 4 ++-- 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index ca66ff41b..44b45c18e 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -176,7 +176,8 @@ jobs: shell: msys2 {0} run: | set -euxo pipefail - export PATH="/c/Program Files/Eclipse Adoptium/jdk-17*/bin:$PATH" + export JAVA_HOME="$(cygpath "$JAVA_HOME")" + export PATH="$JAVA_HOME/bin:$PATH" java -version chmod +x mvnw || true ./mvnw -Pwith-cpp clean verify package \ @@ -238,8 +239,8 @@ jobs: shell: msys2 {0} run: | set -euxo pipefail - PYEXE=$(cygpath "$(which python)") - export PATH="/c/Program Files/Eclipse Adoptium/jdk-17*/bin:$PATH" + export JAVA_HOME="$(cygpath "$JAVA_HOME")" + export PATH="$JAVA_HOME/bin:$PATH" # Install Python build dependencies python -m pip install --upgrade pip diff --git a/python/VersionUpdater.groovy b/python/VersionUpdater.groovy index ee3eab2b8..a586fe936 100644 --- a/python/VersionUpdater.groovy +++ b/python/VersionUpdater.groovy @@ -21,13 +21,15 @@ // Synchronize the version in setup.py and the one used in the maven pom. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -def pyProjectFile = new File(project.basedir, "setup.py") def currentMavenVersion = project.version as String def currentPyVersion = currentMavenVersion if(currentMavenVersion.contains("-SNAPSHOT")) { currentPyVersion = currentMavenVersion.split("-SNAPSHOT")[0] + ".dev" } println "Current Project Version in Maven: " + currentMavenVersion + +// Sync setup.py +def pyProjectFile = new File(project.basedir, "setup.py") def match = pyProjectFile.text =~ /version\s*=\s*"(.*?)"/ def pyProjectFileVersion = match[0][1] println "Current Project Version in setup.py: " + pyProjectFileVersion @@ -35,7 +37,21 @@ println "Current Project Version in setup.py: " + pyProjectFileVersion if (pyProjectFileVersion != currentPyVersion) { pyProjectFile.text = pyProjectFile.text.replace("version = \"" + pyProjectFileVersion + "\"", "version = \"" + currentPyVersion + "\"") println "Version in setup.py updated from " + pyProjectFileVersion + " to " + currentPyVersion - // TODO: When releasing, we might need to manually add this file to the release preparation commit. } else { println "Version in setup.py is up to date" } + +// Sync pyproject.toml +def pyprojectTomlFile = new File(project.basedir, "pyproject.toml") +if (pyprojectTomlFile.exists()) { + def tomlMatch = pyprojectTomlFile.text =~ /version\s*=\s*"(.*?)"/ + def tomlVersion = tomlMatch[0][1] + println "Current Project Version in pyproject.toml: " + tomlVersion + + if (tomlVersion != currentPyVersion) { + pyprojectTomlFile.text = pyprojectTomlFile.text.replaceFirst("version = \"" + tomlVersion + "\"", "version = \"" + currentPyVersion + "\"") + println "Version in pyproject.toml updated from " + tomlVersion + " to " + currentPyVersion + } else { + println "Version in pyproject.toml is up to date" + } +} diff --git a/python/setup.py b/python/setup.py index 51c794ca5..757e657d0 100644 --- a/python/setup.py +++ b/python/setup.py @@ -33,7 +33,7 @@ CPP_LIB = CPP_OUT / "lib" CPP_INC = CPP_OUT / "include" -version = "2.2.1" +version = "2.2.0" system = platform.system() (PKG / "include").mkdir(exist_ok=True) @@ -129,7 +129,7 @@ def finalize_options(self): setup( name="tsfile", - version="2.1.0", + version=version, packages=["tsfile"], package_dir={"": "."}, include_package_data=True, From bb4b5c5c6aa130d56fdb081f0938e619c2a327ee Mon Sep 17 00:00:00 2001 From: ColinLee Date: Thu, 12 Mar 2026 09:03:13 +0800 Subject: [PATCH 5/5] fix ci. --- .github/workflows/wheels.yml | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 44b45c18e..2b78eddd6 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -59,7 +59,7 @@ jobs: - name: Install build tools run: | - python -m pip install -U pip wheel + python -m pip install -U pip wheel virtualenv python -m pip install cibuildwheel==2.21.3 @@ -240,16 +240,14 @@ jobs: run: | set -euxo pipefail export JAVA_HOME="$(cygpath "$JAVA_HOME")" - export PATH="$JAVA_HOME/bin:$PATH" - - # Install Python build dependencies - python -m pip install --upgrade pip - python -m pip install -r python/requirements.txt + export PYTHON_HOME="$(cygpath "$pythonLocation")" + export PATH="$PYTHON_HOME:$PYTHON_HOME/Scripts:$JAVA_HOME/bin:$PATH" - # Build wheel via Maven (skip C++ rebuild, only python package) + # Build wheel via Maven (no clean — keep C++ artifacts from previous job) chmod +x mvnw || true cd python - python setup.py bdist_wheel + ../mvnw package -DskipTests \ + -Dspotless.check.skip=true -Dspotless.apply.skip=true ls -la dist/ - name: Verify wheel