From bafdac9bcbe2ab1d6970ee8d1dcb17aab55b92ab Mon Sep 17 00:00:00 2001 From: "nengli.ln" Date: Mon, 18 May 2026 15:17:24 +0800 Subject: [PATCH 1/4] merge extension test with neug test --- .github/workflows/neug-extension-test.yml | 112 +--------------------- .github/workflows/neug-test.yml | 105 ++++++++++++++++++++ 2 files changed, 108 insertions(+), 109 deletions(-) diff --git a/.github/workflows/neug-extension-test.yml b/.github/workflows/neug-extension-test.yml index 81725a762..a5b4c3c9b 100644 --- a/.github/workflows/neug-extension-test.yml +++ b/.github/workflows/neug-extension-test.yml @@ -21,111 +21,6 @@ concurrency: cancel-in-progress: true jobs: - # ============================================================ - # Job 1: Build NeuG with extensions - # ============================================================ - extension_tests_default: - runs-on: [self-hosted, daily, linux] - container: - image: neug-registry.cn-hongkong.cr.aliyuncs.com/neug/neug-dev:v0.1.1 - steps: - - name: checkout - uses: actions/checkout@v4 - with: - submodules: true - - - name: Mark directory safe - run: | - git config --global --add safe.directory "$GITHUB_WORKSPACE" - git config --global --add safe.directory "$GITHUB_WORKSPACE/third_party/aliyun-oss-cpp-sdk" - git config --global --add safe.directory "$GITHUB_WORKSPACE/third_party/parallel-hashmap" - git config --global --add safe.directory "$GITHUB_WORKSPACE/third_party/pybind11" - - - name: Clean the tool directory for self-hosted runner - run: | - rm -rf /__w/_tool/Python - - - name: Cache CCache - uses: actions/cache@v4 - with: - path: ~/.cache/ccache - key: ${{ runner.os }}-ccache-ext-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-ccache-ext- - ${{ runner.os }}-ccache- - - - name: Setup CCache and build dependencies - run: | - sudo apt-get update && sudo apt-get install -y ccache libcurl4-openssl-dev - ccache --max-size=2G - ccache --zero-stats - - - name: Increase the maximum number of opened files - run: | - ulimit -n 65535 - sudo chmod -R 777 /etc/security/* - echo "* soft nofile 1048576" | tee -a /etc/security/limits.conf - - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: '3.13' - - # TODO: After unifying wheel build (neug-manylinux:v0.1.1-x86_64) and dev images (neug-dev:v0.1.1), - # skip the build process and use `pip3 install neug` to test the locally built json extension - # with the released wheel package. - - name: Build NeuG with extensions - run: | - . /home/neug/.neug_env - cd ${GITHUB_WORKSPACE}/ - export BUILD_TYPE=RELEASE - export CMAKE_BUILD_PARALLEL_LEVEL=$(printf '%s\n' "$(nproc)" 32 | awk 'NR==1 || $0 Date: Mon, 18 May 2026 16:00:36 +0800 Subject: [PATCH 2/4] fix build nightly wheel of macos arm64 --- tools/python_bind/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/python_bind/pyproject.toml b/tools/python_bind/pyproject.toml index 7ee59deed..36a339b7e 100644 --- a/tools/python_bind/pyproject.toml +++ b/tools/python_bind/pyproject.toml @@ -77,7 +77,7 @@ environment = {CMAKE_PREFIX_PATH="/opt/neug/", OPENSSL_ROOT_DIR="/opt/neug", LIB [tool.cibuildwheel.macos] before-all = ["git submodule update --init --recursive"] -environment = {MACOSX_DEPLOYMENT_TARGET="10.15", CMAKE_PREFIX_PATH="/opt/neug/", DYLD_LIBRARY_PATH="/opt/neug/lib:/opt/neug/lib64", OPENSSL_ROOT_DIR="/opt/neug"} +environment = {MACOSX_DEPLOYMENT_TARGET="10.15", CMAKE_PREFIX_PATH="/opt/neug/", DYLD_LIBRARY_PATH="/opt/neug/lib:/opt/neug/lib64", OPENSSL_ROOT_DIR="/opt/neug", PYBIND11_FINDPYTHON="OFF"} repair-wheel-command = [ 'source ~/.neug_env', 'delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel}' From b14ca80c2470b66ff3c94109565f720cf1cef821 Mon Sep 17 00:00:00 2001 From: "nengli.ln" Date: Mon, 18 May 2026 16:21:35 +0800 Subject: [PATCH 3/4] add report for build nightly wheel --- .github/workflows/build-nightly-wheel.yml | 33 +++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/.github/workflows/build-nightly-wheel.yml b/.github/workflows/build-nightly-wheel.yml index af8f5d513..2eccb4a6b 100644 --- a/.github/workflows/build-nightly-wheel.yml +++ b/.github/workflows/build-nightly-wheel.yml @@ -37,3 +37,36 @@ jobs: enable_macos_x86: false caller_event_name: ${{ github.event_name }} secrets: inherit + + # ============================================================ + # Notify: Send results to DingTalk + # ============================================================ + notify-nightly-wheel-result: + needs: [build_wheels] + if: always() && github.repository == 'alibaba/neug' + runs-on: ubuntu-latest + steps: + - name: Send DingTalk notification + env: + DINGTALK_TOKEN: ${{ secrets.DINGTALK_TOKEN }} + run: | + if [ -z "$DINGTALK_TOKEN" ]; then + echo "DINGTALK_TOKEN not set, skipping notification." + exit 0 + fi + WEBHOOK_URL="https://oapi.dingtalk.com/robot/send?access_token=${DINGTALK_TOKEN}" + STATUS="${{ needs.build_wheels.result }}" + if [[ "$STATUS" == "success" ]]; then + TITLE="[Nightly Report] Build Nightly Wheels Passed" + else + TITLE="[Nightly Report] Build Nightly Wheels Failed" + fi + curl -s -X POST "$WEBHOOK_URL" \ + -H 'Content-Type: application/json' \ + -d "{ + \"msgtype\": \"markdown\", + \"markdown\": { + \"title\": \"$TITLE\", + \"text\": \"## $TITLE\\n\\n- **build_wheels**: ${STATUS}\\n- **Repo**: ${{ github.repository }}\\n- **Branch**: ${{ github.ref_name }}\\n- **Commit**: ${{ github.sha }}\\n- [View Run](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})\" + } + }" From 09200601d277c90a98844b2c8d71b48d7c656eb1 Mon Sep 17 00:00:00 2001 From: "nengli.ln" Date: Tue, 19 May 2026 10:51:34 +0800 Subject: [PATCH 4/4] update schedule of extension test --- .github/workflows/neug-extension-test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/neug-extension-test.yml b/.github/workflows/neug-extension-test.yml index a5b4c3c9b..46a1846ae 100644 --- a/.github/workflows/neug-extension-test.yml +++ b/.github/workflows/neug-extension-test.yml @@ -2,8 +2,8 @@ name: NeuG Extension Test on: schedule: - # Run at 08:00 UTC every Saturday - - cron: '0 8 * * 6' + # Run at 04:00 CST (20:00 UTC Friday) every Saturday + - cron: '0 20 * * 5' pull_request: branches: [main] paths: