From 7bead20e14cb9f01a56e468c0b2f46c6f91bb149 Mon Sep 17 00:00:00 2001 From: Kayshen-X Date: Sun, 17 May 2026 10:24:29 +0800 Subject: [PATCH] ci: build linux-aarch64 on native ARM runner instead of cross --- .github/workflows/rust-multiplatform.yml | 10 ++++++---- Cross.toml | 11 ----------- 2 files changed, 6 insertions(+), 15 deletions(-) delete mode 100644 Cross.toml diff --git a/.github/workflows/rust-multiplatform.yml b/.github/workflows/rust-multiplatform.yml index 95ce19bf2..9487dafe1 100644 --- a/.github/workflows/rust-multiplatform.yml +++ b/.github/workflows/rust-multiplatform.yml @@ -15,7 +15,6 @@ on: - 'vendor/skia-safe-op/**' - 'rust-toolchain.toml' - 'deny.toml' - - 'Cross.toml' - '.github/workflows/rust-multiplatform.yml' pull_request: paths: @@ -24,7 +23,6 @@ on: - 'crates/**' - 'vendor/jian/**' - 'vendor/skia-safe-op/**' - - 'Cross.toml' - '.github/workflows/rust-multiplatform.yml' workflow_dispatch: @@ -52,10 +50,14 @@ jobs: runner: ubuntu-latest target: x86_64-unknown-linux-gnu cross: false + # Native ARM64 hosted runner — no `cross`. The cross 0.2.x aarch64 + # image (Ubuntu 16.04 / GCC 5 / FreeType 2.6) is too old to link the + # modern skia that skia-bindings builds (missing COLR/variable-font + # FreeType symbols + libstdc++ ABI mismatch). - label: linux-aarch64 - runner: ubuntu-latest + runner: ubuntu-24.04-arm target: aarch64-unknown-linux-gnu - cross: true + cross: false - label: windows-x86_64 runner: windows-latest target: x86_64-pc-windows-msvc diff --git a/Cross.toml b/Cross.toml deleted file mode 100644 index 3d92b761e..000000000 --- a/Cross.toml +++ /dev/null @@ -1,11 +0,0 @@ -# Cross-compilation config for `cross` (used by the linux-aarch64 CI job). -# -# The aarch64 cross build links the `openpencil-desktop` binary, which pulls -# system freetype + fontconfig at link time (via skia-bindings and -# sctk-adwaita). The stock cross image only ships host-arch libs, so the -# target-arch dev packages must be installed into the container before build. -[target.aarch64-unknown-linux-gnu] -pre-build = [ - "dpkg --add-architecture $CROSS_DEB_ARCH", - "apt-get update && apt-get --assume-yes install libfreetype6-dev:$CROSS_DEB_ARCH libfontconfig1-dev:$CROSS_DEB_ARCH", -]