From bd3dd6a8934c9998d7d33cdde81da88f7954bff9 Mon Sep 17 00:00:00 2001 From: dl239 Date: Wed, 25 Feb 2026 11:01:51 +0800 Subject: [PATCH 01/10] feat: upgrade macos runner Signed-off-by: dl239 --- .github/workflows/cicd.yaml | 2 +- .github/workflows/hybridse-ci.yml | 2 +- .github/workflows/sdk.yml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/cicd.yaml b/.github/workflows/cicd.yaml index 3aff8e38e12..6e6a697a919 100644 --- a/.github/workflows/cicd.yaml +++ b/.github/workflows/cicd.yaml @@ -158,7 +158,7 @@ jobs: comment_title: Linux Test Report macos-cpp: - runs-on: macos-13 + runs-on: macos-14 if: github.repository == '4paradigm/OpenMLDB' env: OS: darwin diff --git a/.github/workflows/hybridse-ci.yml b/.github/workflows/hybridse-ci.yml index 31d46f2452e..a16789792c5 100644 --- a/.github/workflows/hybridse-ci.yml +++ b/.github/workflows/hybridse-ci.yml @@ -54,7 +54,7 @@ jobs: macos-build: name: Build in MacOS - runs-on: macos-13 + runs-on: macos-14 env: NPROC: 3 CTEST_PARALLEL_LEVEL: 3 # parallel test level for ctest (make test) diff --git a/.github/workflows/sdk.yml b/.github/workflows/sdk.yml index c00a50029fb..2ebaaeb2fa9 100644 --- a/.github/workflows/sdk.yml +++ b/.github/workflows/sdk.yml @@ -156,7 +156,7 @@ jobs: # mac job for java sdk. steps are almost same with job 'java-sdk' # except mvn deploy won't target all modules, just hybridse-native & openmldb-native # the job only run on tag push or manual workflow dispatch due to no test runs - runs-on: macos-13 + runs-on: macos-14 needs: - java-sdk if: github.event_name == 'push' @@ -327,7 +327,7 @@ jobs: TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} python-sdk-mac: - runs-on: macos-13 + runs-on: macos-14 env: SQL_PYSDK_ENABLE: ON OPENMLDB_BUILD_TARGET: "cp_python_sdk_so openmldb" From 2bf083b85000f0f15213176cca6a7ef495ed2976 Mon Sep 17 00:00:00 2001 From: dl239 Date: Wed, 25 Feb 2026 11:05:28 +0800 Subject: [PATCH 02/10] fix: upgrade xcode-version Signed-off-by: dl239 --- .github/workflows/cicd.yaml | 2 +- .github/workflows/hybridse-ci.yml | 2 +- .github/workflows/sdk.yml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/cicd.yaml b/.github/workflows/cicd.yaml index 6e6a697a919..9c4b7e4f8d7 100644 --- a/.github/workflows/cicd.yaml +++ b/.github/workflows/cicd.yaml @@ -172,7 +172,7 @@ jobs: - name: Xcode Select Version uses: maxim-lobanov/setup-xcode@v1 with: - xcode-version: '14.1.0' + xcode-version: '15.1.0' - name: Set up JDK 8 uses: actions/setup-java@v4 with: diff --git a/.github/workflows/hybridse-ci.yml b/.github/workflows/hybridse-ci.yml index a16789792c5..6503fe940be 100644 --- a/.github/workflows/hybridse-ci.yml +++ b/.github/workflows/hybridse-ci.yml @@ -67,7 +67,7 @@ jobs: - name: Xcode Select Version uses: maxim-lobanov/setup-xcode@v1 with: - xcode-version: '14.1.0' + xcode-version: '15.1.0' - name: Install dependencies run: | brew install coreutils diff --git a/.github/workflows/sdk.yml b/.github/workflows/sdk.yml index 2ebaaeb2fa9..3f2cd6e4570 100644 --- a/.github/workflows/sdk.yml +++ b/.github/workflows/sdk.yml @@ -172,7 +172,7 @@ jobs: - name: Xcode Select Version uses: maxim-lobanov/setup-xcode@v1 with: - xcode-version: '14.1.0' + xcode-version: '15.1.0' - name: Setup CMake uses: jwlawson/actions-setup-cmake@v1 with: @@ -344,7 +344,7 @@ jobs: - name: Xcode Select Version uses: maxim-lobanov/setup-xcode@v1 with: - xcode-version: '14.1.0' + xcode-version: '15.1.0' - name: Setup CMake uses: jwlawson/actions-setup-cmake@v1 with: From 661348f36693e02c172019088ca3ff980d86f273 Mon Sep 17 00:00:00 2001 From: dl239 Date: Wed, 25 Feb 2026 11:10:12 +0800 Subject: [PATCH 03/10] fix: java 8 Signed-off-by: dl239 --- .github/workflows/cicd.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cicd.yaml b/.github/workflows/cicd.yaml index 9c4b7e4f8d7..35b724dacff 100644 --- a/.github/workflows/cicd.yaml +++ b/.github/workflows/cicd.yaml @@ -177,7 +177,7 @@ jobs: uses: actions/setup-java@v4 with: java-version: '8' - distribution: 'temurin' + distribution: 'zulu' - name: Setup CMake uses: jwlawson/actions-setup-cmake@v1 with: From 4d54fb438bef98e8c07f53c3a4b701362e56d1aa Mon Sep 17 00:00:00 2001 From: dl239 Date: Wed, 25 Feb 2026 16:22:23 +0800 Subject: [PATCH 04/10] fix compile Signed-off-by: dl239 --- hybridse/CMakeLists.txt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/hybridse/CMakeLists.txt b/hybridse/CMakeLists.txt index 6a9dfeaf0a9..f4832b18c21 100644 --- a/hybridse/CMakeLists.txt +++ b/hybridse/CMakeLists.txt @@ -69,6 +69,14 @@ find_package(LLVM REQUIRED CONFIG) message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}") message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}") +# LLVM >= 16 forces C++20 via CACHE; override it back to C++17 for Boost compatibility +set(CMAKE_CXX_STANDARD 17 CACHE STRING "" FORCE) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) + +# Ensure AppleClang really uses C++17 +add_compile_options(-std=c++17) + if (LLVM_EXT_ENABLE) llvm_map_components_to_libnames(LLVM_LIBS support core orcjit nativecodegen From 55cfb244dde1b0be8b57672debe48d5c7f6a70b0 Mon Sep 17 00:00:00 2001 From: dl239 Date: Wed, 25 Feb 2026 16:35:29 +0800 Subject: [PATCH 05/10] fix compile boost on macos Signed-off-by: dl239 --- CMakeLists.txt | 8 ++++++-- hybridse/CMakeLists.txt | 8 -------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8b6842ebfc3..5f58262b5d1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -212,8 +212,6 @@ if (DEFINED ENV{CI}) set(MAVEN_FLAGS --batch-mode) endif() -add_subdirectory(hybridse) - set(Boost_NO_BOOST_CMAKE ON) set(BOOST_ROOT "${CMAKE_PREFIX_PATH}") find_package(Boost COMPONENTS filesystem date_time regex REQUIRED) @@ -227,6 +225,12 @@ llvm_map_components_to_libnames(LLVM_LIBS support core irreader orcjit nativecod message(STATUS "Using LLVM components: ${LLVM_LIBS}") add_definitions(${LLVM_DEFINITIONS}) +if (CMAKE_CXX_FLAGS MATCHES "-std=") + string(REGEX REPLACE "-std=[^ ]+" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") +endif() +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17" CACHE STRING "" FORCE) +add_subdirectory(hybridse) + find_package(absl REQUIRED) # modify absl::time_zone INTERFACE_LINK_LIBRARIES set_target_properties(absl::time_zone PROPERTIES INTERFACE_LINK_LIBRARIES "\$<\$:-framework CoreFoundation>") diff --git a/hybridse/CMakeLists.txt b/hybridse/CMakeLists.txt index f4832b18c21..6a9dfeaf0a9 100644 --- a/hybridse/CMakeLists.txt +++ b/hybridse/CMakeLists.txt @@ -69,14 +69,6 @@ find_package(LLVM REQUIRED CONFIG) message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}") message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}") -# LLVM >= 16 forces C++20 via CACHE; override it back to C++17 for Boost compatibility -set(CMAKE_CXX_STANDARD 17 CACHE STRING "" FORCE) -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_EXTENSIONS OFF) - -# Ensure AppleClang really uses C++17 -add_compile_options(-std=c++17) - if (LLVM_EXT_ENABLE) llvm_map_components_to_libnames(LLVM_LIBS support core orcjit nativecodegen From 8bd259cdd250818ce1fffcc73467b0b1c8035bad Mon Sep 17 00:00:00 2001 From: dl239 Date: Wed, 25 Feb 2026 16:51:30 +0800 Subject: [PATCH 06/10] fix boost compile Signed-off-by: dl239 --- CMakeLists.txt | 8 ++------ third-party/cmake/FetchBoost.cmake | 14 +++++++++----- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5f58262b5d1..8b6842ebfc3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -212,6 +212,8 @@ if (DEFINED ENV{CI}) set(MAVEN_FLAGS --batch-mode) endif() +add_subdirectory(hybridse) + set(Boost_NO_BOOST_CMAKE ON) set(BOOST_ROOT "${CMAKE_PREFIX_PATH}") find_package(Boost COMPONENTS filesystem date_time regex REQUIRED) @@ -225,12 +227,6 @@ llvm_map_components_to_libnames(LLVM_LIBS support core irreader orcjit nativecod message(STATUS "Using LLVM components: ${LLVM_LIBS}") add_definitions(${LLVM_DEFINITIONS}) -if (CMAKE_CXX_FLAGS MATCHES "-std=") - string(REGEX REPLACE "-std=[^ ]+" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") -endif() -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17" CACHE STRING "" FORCE) -add_subdirectory(hybridse) - find_package(absl REQUIRED) # modify absl::time_zone INTERFACE_LINK_LIBRARIES set_target_properties(absl::time_zone PROPERTIES INTERFACE_LINK_LIBRARIES "\$<\$:-framework CoreFoundation>") diff --git a/third-party/cmake/FetchBoost.cmake b/third-party/cmake/FetchBoost.cmake index 4249c3516c7..f28f288acd5 100644 --- a/third-party/cmake/FetchBoost.cmake +++ b/third-party/cmake/FetchBoost.cmake @@ -12,23 +12,27 @@ # See the License for the specific language governing permissions and # limitations under the License. -set(BOOST_URL https://boostorg.jfrog.io/artifactory/main/release/1.69.0/source/boost_1_69_0.tar.gz) +set(BOOST_URL https://archives.boost.io/release/1.83.0/source/boost_1_83_0.tar.gz) message(STATUS "build boost from ${BOOST_URL}") -if (CMAKE_SYSTEM_NAME STREQUAL "Darwin") - set(BOOST_FLAGS compiler.blacklist clang -with-toolset=clang) +if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + set(BOOST_TOOLSET clang) +elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + set(BOOST_TOOLSET gcc) +else() + message(FATAL_ERROR "Unsupported compiler for Boost build") endif() # boost require python development package, python-dev on debian or python-devel on redhat ExternalProject_Add( boost URL ${BOOST_URL} - URL_HASH SHA256=9a2c2819310839ea373f42d69e733c339b4e9a19deab6bfec448281554aa4dbb + URL_HASH SHA256=c0685b68dd44cc46574cce86c4e17c0f611b15e195be9848dfd0769a0a207628 PREFIX ${DEPS_BUILD_DIR} DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/boost INSTALL_DIR ${DEPS_INSTALL_DIR} BUILD_IN_SOURCE True CONFIGURE_COMMAND ./bootstrap.sh ${BOOST_FLAGS} - BUILD_COMMAND ./b2 link=static cxxflags=-fPIC cflags=-fPIC --without-python release install --prefix= + BUILD_COMMAND ./b2 toolset=${BOOST_TOOLSET} link=static cxxstd=17 cxxflags="-std=c++17 -fPIC" cflags=-fPIC --without-python release install --prefix= INSTALL_COMMAND "") From da4dba25b4514d8e5e9279491a208d243ff627bb Mon Sep 17 00:00:00 2001 From: dl239 Date: Wed, 25 Feb 2026 17:16:08 +0800 Subject: [PATCH 07/10] add DBUILD_BUNDLED_BOOST=ON Signed-off-by: dl239 --- .github/workflows/cicd.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cicd.yaml b/.github/workflows/cicd.yaml index 35b724dacff..97b91edea75 100644 --- a/.github/workflows/cicd.yaml +++ b/.github/workflows/cicd.yaml @@ -201,7 +201,7 @@ jobs: env: SQL_JAVASDK_ENABLE: ${{ env.SQL_JAVASDK_ENABLE }} run: | - make configure CMAKE_INSTALL_PREFIX=${{ env.OPENMLDB_PREFIX }} + make configure CMAKE_INSTALL_PREFIX=${{ env.OPENMLDB_PREFIX }} -DBUILD_BUNDLED_BOOST=ON - name: build run: | From 8cc887d81cc8a120928097f040845a2f6bd5aa04 Mon Sep 17 00:00:00 2001 From: dl239 Date: Wed, 25 Feb 2026 17:25:26 +0800 Subject: [PATCH 08/10] fix env Signed-off-by: dl239 --- .github/workflows/cicd.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cicd.yaml b/.github/workflows/cicd.yaml index 97b91edea75..49c394952e7 100644 --- a/.github/workflows/cicd.yaml +++ b/.github/workflows/cicd.yaml @@ -200,8 +200,9 @@ jobs: - name: configure env: SQL_JAVASDK_ENABLE: ${{ env.SQL_JAVASDK_ENABLE }} + BUILD_BUNDLED_BOOST: ON run: | - make configure CMAKE_INSTALL_PREFIX=${{ env.OPENMLDB_PREFIX }} -DBUILD_BUNDLED_BOOST=ON + make configure CMAKE_INSTALL_PREFIX=${{ env.OPENMLDB_PREFIX }} - name: build run: | From ae704389efa905c72d7bef070ead6e468099b0a4 Mon Sep 17 00:00:00 2001 From: dl239 Date: Wed, 25 Feb 2026 17:30:54 +0800 Subject: [PATCH 09/10] update Signed-off-by: dl239 --- .github/workflows/cicd.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cicd.yaml b/.github/workflows/cicd.yaml index 49c394952e7..8aa9728488b 100644 --- a/.github/workflows/cicd.yaml +++ b/.github/workflows/cicd.yaml @@ -200,7 +200,7 @@ jobs: - name: configure env: SQL_JAVASDK_ENABLE: ${{ env.SQL_JAVASDK_ENABLE }} - BUILD_BUNDLED_BOOST: ON + BUILD_BUNDLED: ON run: | make configure CMAKE_INSTALL_PREFIX=${{ env.OPENMLDB_PREFIX }} From b5335a223493880295c6d7d612ee65233843a446 Mon Sep 17 00:00:00 2001 From: dl239 Date: Wed, 25 Feb 2026 18:12:54 +0800 Subject: [PATCH 10/10] update Signed-off-by: dl239 --- .github/workflows/cicd.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/cicd.yaml b/.github/workflows/cicd.yaml index 8aa9728488b..69dba52f53b 100644 --- a/.github/workflows/cicd.yaml +++ b/.github/workflows/cicd.yaml @@ -201,6 +201,7 @@ jobs: env: SQL_JAVASDK_ENABLE: ${{ env.SQL_JAVASDK_ENABLE }} BUILD_BUNDLED: ON + BUILD_BUNDLED_ZETASQL: OFF run: | make configure CMAKE_INSTALL_PREFIX=${{ env.OPENMLDB_PREFIX }}