ci: build linux-aarch64 on native ARM runner instead of cross

This commit is contained in:
Kayshen-X 2026-05-17 10:24:29 +08:00
parent a3025d550e
commit 7bead20e14
2 changed files with 6 additions and 15 deletions

View file

@ -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

View file

@ -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",
]