Skip to content

[ci] Build Linux ARM64 thirdparty in GitHub Actions - #404

Open
hello-stephen wants to merge 2 commits into
apache:mainfrom
hello-stephen:codex/migrate-linux-arm64-actions
Open

[ci] Build Linux ARM64 thirdparty in GitHub Actions#404
hello-stephen wants to merge 2 commits into
apache:mainfrom
hello-stephen:codex/migrate-linux-arm64-actions

Conversation

@hello-stephen

Copy link
Copy Markdown
Contributor

What changed

  • add a native Linux ARM64 matrix entry using GitHub's ubuntu-22.04-arm hosted runner
  • select ldb_toolchain_gen_aarch64.sh for the ARM64 job while keeping the existing x86_64 toolchain
  • upload both doris-thirdparty-prebuilt-linux-aarch64.tar.xz and the existing compatibility asset doris-thirdparty-prebuild-arm64.tar.xz

Why

Linux ARM64 prebuilds currently depend on an internal ARM machine plus an hourly upload cron, unlike the other three platforms. Public repositories can now use standard native ARM64 GitHub-hosted runners, so the build and publication can live in the same workflow as Linux x86_64 and macOS.

Keeping the legacy asset name avoids breaking existing Doris release jobs and download URLs during the migration.

Validation

  • actionlint .github/workflows/build.yml
  • YAML parse and git diff --check
  • live Linux ARM64 GitHub Actions run will be linked in a follow-up PR comment

@hello-stephen

hello-stephen commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

Linux ARM64 GitHub Actions validation: passed

The second validation round for commit b05bee4c6352c360901bb57084eb5f146cf5e71a is complete.

  • Workflow run: 30803820994
  • ARM64 job: 91654674188completed / success at 2026-08-03T11:25:28Z
  • Runner/toolchain: ubuntu-22.04-arm, native aarch64, using ldb_toolchain_gen_aarch64.sh
  • Build log confirms Target system: Linux; Target arch: aarch64 and Finished to build all thirdparties
  • Prerelease output and packaged marker both equal 0c01156be7f468ce73a4d903f3f374668e7a7548
  • Downloaded canonical archive locally and verified:
    • size: 720086376 bytes
    • SHA256: 69c6f04213d7c13e90ef0e132e77e207eb6824e454641937d5454471bf521d0d
    • contains installed/_doris_thirdparty_commit_
    • contains installed/lib64/libadbc_driver_manager.a
    • contains installed/lib64/libadbc_driver_jni.so

Published assets on the fork's automation release:

Asset ID Size Updated Digest
doris-thirdparty-prebuilt-linux-aarch64.tar.xz 499974055 720086376 2026-08-03T11:25:22Z sha256:69c6f04213d7c13e90ef0e132e77e207eb6824e454641937d5454471bf521d0d
doris-thirdparty-prebuild-arm64.tar.xz 499974052 720086376 2026-08-03T11:25:26Z sha256:69c6f04213d7c13e90ef0e132e77e207eb6824e454641937d5454471bf521d0d

The canonical and compatibility asset names have identical size and GitHub digest, so the existing ARM64 download URL remains compatible. The first-round missing-marker issue is fixed by b05bee4c6352c360901bb57084eb5f146cf5e71a.

Other matrix jobs are independent of this ARM64 validation.

@hello-stephen
hello-stephen marked this pull request as ready for review August 3, 2026 14:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant