continuwuity/.forgejo/workflows
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
..
auto-labeler.yml fix(ci): Ignore changelog entries in the autolabeller 2026-05-19 10:57:39 +01:00
build-debian.yml chore(deps): update github-actions-digest 2026-07-28 05:01:29 +00:00
build-nix.yml chore(deps): update github-actions-digest 2026-07-14 05:01:52 +00:00
check-changelog.yml fix(ci): Correct remote ref fetch 2026-06-27 01:00:33 +01:00
documentation.yml chore(deps): update https://github.com/actions/setup-node action to v7 2026-07-26 19:26:49 +00:00
mirror-images.yml chore(deps): update github-actions-digest 2026-08-11 05:01:27 +00:00
prek-checks.yml chore(deps): update github-actions-digest 2026-08-11 05:01:27 +00:00
release-image.yml ci: Compile arm64 natively on the ubuntu-arm64 runner 2026-08-20 15:58:34 +00:00
renovate.yml chore(deps): update ghcr.io/renovatebot/renovate docker tag to v44 2026-08-20 05:03:11 +00:00
update-flake-hashes.yml chore(deps): update github-actions-digest 2026-07-21 05:02:36 +00:00