This is an automated email from the ASF dual-hosted git repository.

morningman pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/doris-thirdparty.git


The following commit(s) were added to refs/heads/main by this push:
     new cb7fc7e6df3 [ci] Build Linux ARM64 thirdparty in GitHub Actions (#404)
cb7fc7e6df3 is described below

commit cb7fc7e6df39837825acef3d14326ee757ea41c5
Author: Dongyang Li <[email protected]>
AuthorDate: Wed Aug 5 20:27:58 2026 +0800

    [ci] Build Linux ARM64 thirdparty in GitHub Actions (#404)
    
    * [ci] build Linux ARM64 thirdparty in GitHub Actions
    
    * [ci] include thirdparty commit marker in prebuilt archives
---
 .github/workflows/build.yml | 57 +++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 52 insertions(+), 5 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 6ea7c577ced..75d8c10544c 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -38,6 +38,7 @@ jobs:
       contents: write
     outputs:
       should_release: ${{ steps.check_diff.outputs.should_release }}
+      thirdparty_commit_hash: ${{ 
steps.check_diff.outputs.thirdparty_commit_hash }}
     steps:
       - name: Checkout
         uses: actions/checkout@v4
@@ -54,9 +55,11 @@ jobs:
           fi
           last_version="$(gh release view automation | sed -n -E 's/Doris 
Version: \*(.*)\*.*/\1/p')"
           current_version="$(git log -1 --format='%H')"
+          thirdparty_commit_hash="$(git log -1 --format='%H' -- thirdparty)"
 
           echo "Last Version: ${last_version}"
           echo "Current Version: ${current_version}"
+          echo "Thirdparty Commit: ${thirdparty_commit_hash}"
 
           should_release=false
           if [[ -z "${last_version}" ]]; then
@@ -83,6 +86,7 @@ jobs:
           gh release edit -F release_note.md automation
 
           echo "should_release=${should_release}" >> $GITHUB_OUTPUT
+          echo "thirdparty_commit_hash=${thirdparty_commit_hash}" >> 
$GITHUB_OUTPUT
 
       - name: Download Source and Upload
         if: steps.check_diff.outputs.should_release == 'true'
@@ -153,6 +157,34 @@ jobs:
 
           - name: Linux
             os: ubuntu-22.04
+            toolchain: ldb_toolchain_gen.sh
+            packages: >-
+              'build-essential'
+              'automake'
+              'autoconf'
+              'libtool-bin'
+              'pkg-config'
+              'cmake=3.22.1-1ubuntu1.22.04.2'
+              'ninja-build'
+              'ccache'
+              'python-is-python3'
+              'bison'
+              'byacc'
+              'flex'
+              'binutils-dev'
+              'libiberty-dev'
+              'curl'
+              'git'
+              'zip'
+              'unzip'
+              'autopoint'
+              'openjdk-8-jdk'
+              'openjdk-8-jdk-headless'
+              'maven'
+
+          - name: Linux-arm64
+            os: ubuntu-22.04-arm
+            toolchain: ldb_toolchain_gen_aarch64.sh
             packages: >-
               'build-essential'
               'automake'
@@ -237,14 +269,14 @@ jobs:
             sudo DEBIAN_FRONTEND=noninteractive apt install --yes ${{ 
matrix.config.packages }}
 
             mkdir -p "${DEFAULT_DIR}"
-            wget 
https://github.com/amosbird/ldb_toolchain_gen/releases/download/v0.25/ldb_toolchain_gen.sh
 \
+            wget 
"https://github.com/amosbird/ldb_toolchain_gen/releases/download/v0.25/${{ 
matrix.config.toolchain }}" \
               -q -O /tmp/ldb_toolchain_gen.sh
             bash /tmp/ldb_toolchain_gen.sh "${DEFAULT_DIR}/ldb-toolchain"
           fi
 
       - name: Build and Upload
         run: |
-          if [[ "${{ matrix.config.name }}" == 'Linux' ]]; then
+          if [[ "${{ matrix.config.name }}" == Linux* ]]; then
             export DEFAULT_DIR='/opt/doris'
             export PATH="${DEFAULT_DIR}/ldb-toolchain/bin:${PATH}"
             export PATH="$(find /usr/lib/jvm/java-8-openjdk* -maxdepth 1 -type 
d -name 'bin'):${PATH}"
@@ -259,11 +291,26 @@ jobs:
           cd thirdparty
           ./build-thirdparty.sh -j "$(nproc)"
 
+          thirdparty_commit_hash="${{ 
needs.prerelease.outputs.thirdparty_commit_hash }}"
+          if [[ -z "${thirdparty_commit_hash}" ]]; then
+            echo 'Thirdparty commit hash is empty' >&2
+            exit 1
+          fi
+          echo "${thirdparty_commit_hash}" >installed/_doris_thirdparty_commit_
+
           kernel="$(uname -s | awk '{print tolower($0)}')"
           arch="$(uname -m)"
-          rm -rf "doris-thirdparty-prebuilt-${kernel}-${arch}.tar.xz"
-          tar -cf - installed | xz -z -T0 - 
>"doris-thirdparty-prebuilt-${kernel}-${arch}.tar.xz"
-          gh release upload --clobber automation 
"doris-thirdparty-prebuilt-${kernel}-${arch}.tar.xz"
+          archive="doris-thirdparty-prebuilt-${kernel}-${arch}.tar.xz"
+          rm -f "${archive}"
+          tar -cf - installed | xz -z -T0 - >"${archive}"
+
+          assets=("${archive}")
+          if [[ "${kernel}" == 'linux' && "${arch}" == 'aarch64' ]]; then
+            # Preserve the existing Linux ARM64 URL used by Doris release jobs.
+            cp "${archive}" doris-thirdparty-prebuild-arm64.tar.xz
+            assets+=(doris-thirdparty-prebuild-arm64.tar.xz)
+          fi
+          gh release upload --clobber automation "${assets[@]}"
 
   update-docker:
     name: Update Docker Image


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to