continuwuity/.forgejo/actions
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Morgan ea269d2761
Some checks failed
Checks / Changelog / Check changelog is added (pull_request_target) Successful in 6s
Checks / Prek / Check changed files (pull_request) Successful in 8s
Checks / Prek / Pre-commit & Formatting (pull_request) Failing after 1m9s
Documentation / Build and Deploy Documentation (pull_request) Successful in 1m38s
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been skipped
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-10-04 22:31:28 +00:00
..
build-native ci: Compile arm64 natively on the ubuntu-arm64 runner 2026-10-04 22:31:28 +00:00
create-docker-manifest chore(deps): update github-actions-digest 2026-09-22 05:03:35 +00:00
prepare-docker-build chore(deps): update github-actions-digest 2026-09-22 05:03:35 +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 ci: run 'cargo shear' 2026-07-17 17:02:21 -05:00
timelord chore(deps): update github-actions-digest 2026-09-29 05:01:36 +00:00
upload-docker-artifacts chore(ci): Unify artifact versions 2025-12-21 19:11:12 +00:00