continuwuity/.forgejo/actions
Morgan 7e979882bd
All checks were successful
Documentation / Build and Deploy Documentation (pull_request) Successful in 1m5s
Checks / Prek / Check changed files (pull_request) Successful in 6s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 1m23s
Update flake hashes / update-flake-hashes (pull_request) Successful in 1m26s
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been skipped
Checks / Changelog / Check changelog is added (pull_request_target) Successful in 10s
ci: Compile arm64 natively on the ubuntu-arm64 runner
The arm64 build cross-compiled with the Rust target triple inside an
amd64 container and copied the binary out, deliberately avoiding Docker
emulation because arm64 emulation is unreliable on some BuildKit
instances.

A dedicated Ubuntu VM on an M4 Mac Mini is now available under the
ubuntu-arm64 label. Each matrix entry carries its own runner label and a
native flag, so builds can be moved between runners or between build
modes without changing the workflow structure.

Where native is set, the build-native action compiles on the host and
assembles the artefact tree, leaving Docker to package it. It builds
into a target directory outside the per-run workspace so cargo can reuse
artefacts between runs. The Dockerfile's ARTIFACTS argument selects
whether artefacts come from the builder stage or from out/ in the build
context; prepper and the final image are unchanged. Libraries are
resolved where the binary was linked, so arm64 images carry Ubuntu's
rather than Debian's.

Architecture flags are split into TARGET_MARCH, which feeds -march for
the C and C++ compilers, and TARGET_RUSTFLAGS, which is appended to
RUSTFLAGS. amd64 passes haswell to both as before; arm64 passes +crc,
which rustc does not enable by default. TARGET_CPU still drives the tag
and artefact suffix.
2026-08-20 15:58:34 +00:00
..
build-native ci: Compile arm64 natively on the ubuntu-arm64 runner 2026-08-20 15:58:34 +00:00
create-docker-manifest chore(deps): update github-actions-digest 2026-08-04 05:02:51 +00:00
prepare-docker-build chore(deps): update github-actions-digest 2026-08-04 05:02:51 +00:00
rust-toolchain chore(deps): update actions/cache action to v6 2026-07-02 10:14:57 +00:00
sccache chore(deps): update https://github.com/actions/github-script action to v9 2026-04-10 08:21:00 +00:00
setup-llvm-with-apt chore(deps): update github-actions-digest 2026-07-07 05:01:59 +00:00
setup-rust chore(deps): update actions/cache action to v6 2026-07-02 10:14:57 +00:00
timelord chore(deps): update https://github.com/taiki-e/install-action digest to b6b84cf 2026-08-18 05:02:53 +00:00
upload-docker-artifacts chore(ci): Unify artifact versions 2025-12-21 19:11:12 +00:00