Publish a reusable aarch64 repository artifact - #223
Conversation
Both are plain Rust builds with nothing architecture-specific in build()
or package(), but carry arch=('x86_64') and so are skipped by
should_build_for_arch() on an aarch64 run.
Both are AUR-synced, so the change also goes in .omarchy/patches/ --
matching umu-launcher and the other locally-modified packages -- or the
next sync-aur reverts it.
Verified rather than assumed: both are built and running on an Apple
Silicon machine at these versions.
The build system already supports aarch64 end to end -- bin/build, bin/sign, bin/update-repo and bin/sync-repo all take --arch, the Dockerfile bootstraps an Arch Linux ARM rootfs, and omarchy-keyring is published for aarch64 so that image can bootstrap -- but nothing runs it, so pkgs.omarchy.org serves no aarch64 tree. GitHub's ARM64 runners are free for public repositories, so the build needs no QEMU. The workflow is dispatch-only and takes an optional package list, and it stops at uploading artifacts: signing and syncing need credentials only a maintainer has.
The builder container works as its own uid 1000 user, while a GitHub runner is uid 1001, and make_dir_writable() chowns the mounted output directories to the host user. The container then cannot write its incremental omarchy-build database, pacman -Sy fails to open it, and no makedepends resolve -- the build dies on the first package. This is invisible on a workstation, where the developer is uid 1000 too.
Extend the native ARM package build so an ISO workflow can call it, receive a complete omarchy.db repository artifact, and verify the requested package set.
e723c3d to
525eb55
Compare
|
Native ARM64 end-to-end validation passed after making repository database creation use the target architecture: package build, omarchy.db publication, verification, and artifact upload all succeeded. Evidence: https://github.com/birkskyum/omarchy-pkgs/actions/runs/33119644049 |
|
Confirming provenance. The reusable repository workflow is mine, from |
|
Small thing: the body says "The consuming ISO work is #129", which GitHub resolves to #129 ("Update omasnap to 1.0.6") since bare numbers link within the current repo. I think you mean omacom/omarchy-iso#129, "Boot and install Omarchy on Snapdragon X ARM64 systems" — worth spelling out in full so the dependency chain is followable. Also flagging that I've narrowed #171 to CI only: the tensaku and tzupdate changes are out, so it's now just |
Summary
omarchy.dbrepository tree rather than only loose package filesProvenance
The prerequisite native runner commits are authored by Scott Jones and come from #171. The reusable repository workflow is authored by Jimmy Van Veen and reduced from JimmayVV/omarchy-pkgs@snapdragon. Birk removed the branch-specific push trigger and the hardcoded Snapdragon package list; callers now own the package set they require.
Dependency and review order
This branch carries #171 so it can be exercised today. It should be rebased to only its follow-up commits after #171 merges.
The consuming ISO work is omacom/omarchy-iso#129. The packages needed by that ISO are proposed separately in #221, #222, #195 and #197.
Validation
Native ARM run 33119644049 passed package construction,
omarchy.dbpublication, requested-package verification and artifact upload. The repository artifact was also consumed successfully by the corrected ISO build in run 33128799299.