Commit Graph
32 Commits
Author SHA1 Message Date
Marcelo Alcantara 91843ab099 Make aarch64 a first-class architecture in the scheduled pipeline
One list, PUBLISHED_ARCHES in helpers/paths.sh (default x86_64,
overridable with OMARCHY_ARCHES), now drives everything the repository
host schedules. check-versions compares PKGBUILDs against each
architecture's channel databases and writes one queue per channel and
architecture; auto-release works through the queues one architecture at
a time, each with its own backoff, so a failing build on one never
blocks the other; advance-channel --arch all re-runs an advance for every
published architecture and omarchy-release uses it for start and ship,
building the pinned pair once per architecture in its rc trigger; the
train observes channels through the reference (first) architecture
instead of a hard-coded x86_64. Queue and backoff files written under
the old per-channel names are treated as x86_64 until consumed.

Two things made an aarch64 builder image impossible to create: the
keyring bootstrap fetched omarchy-keyring from the target architecture's
own channel tree, which does not exist before that architecture has
published anything, and the QEMU probe only knew the x86_64-host,
aarch64-target case. The keyring (arch=any) now always comes from the
x86_64 tree, and the probe compares host and target architectures and
runs a container for the target platform.

clean-repo grouped versions with a regex that only knew any, x86_64 and
i686, so aarch64 packages would never have been pruned.
2026-09-04 23:40:49 -04:00
Marcelo Alcantara 191e1e7db5 Add builder flags for CI and resumed builds
Three opt-in knobs for bin/build, each defaulting to today's behaviour:

OMARCHY_KEEP_BUILD_WORKSPACE=1 keeps build-output/$MIRROR/$ARCH instead
of wiping it, and build/build.sh now folds any packages already there
into omarchy-build.db even when no database exists yet, so packages
built by an earlier job (or a previous, interrupted run) resolve as
dependencies of what builds next.

OMARCHY_SKIP_BUILDER_IMAGE=1 uses the omarchy-pkg-builder image already
present instead of building it, so a workflow can build the image once
with an external BuildKit cache and fan out over package jobs that all
run the same bytes. A missing image is an error, not a silent rebuild.

OMARCHY_DEFER_RUNTIME_DEPS=true builds the omarchy/omarchy-settings pair
with --nodeps, installing only their makedepends and checkdepends
explicitly. The pair depends on each other and on packages a sharded
pipeline builds in other jobs, so they cannot resolve in isolation; the
assembled set is installed in one verified transaction downstream. The
request is refused for anything but exactly that pair, on the host
before Docker starts and again inside the container.

Also fix make_dir_writable: chown -R can succeed on part of the tree
and fail on files a previous container left behind as another uid, and
the old `|| chmod` fallback only ran when chown failed outright. Always
follow with chmod.
2026-09-02 23:15:30 +10:00
Ryan Hughes bde81c757c Forward OMARCHY_RC_PINS into the build container
package_builds_for_mirror gates pinned packages' rc builds on
OMARCHY_RC_PINS, but that check runs inside the container via
build.sh, and docker run only forwarded ARCH/MIRROR/PACKAGES —
so the rc trigger's pinned builds were always skipped as 'not
configured for direct rc builds'.
2026-08-30 13:27:32 -04:00
Ryan Hughes e73b843bd2 Add rc as a first-class channel: validation, shared repo root, rc build mirror
- helpers/paths.sh: validate_mirror/require_valid_mirror for the edge|rc|stable
  set, and REPO_ROOT (OMARCHY_REPO_ROOT override) so a secondary checkout like
  the rc branch worktree publishes into the same channel tree as the primary
- validate --mirror everywhere it previously accepted any string (sync-repo,
  promote-build, update-repo, clean-repo, remove-package) and widen the
  edge|stable checks in build, deploy, push-build, auto-release
- build/Dockerfile: rc builds compile against rc-mirror.omarchy.org
2026-08-27 01:10:33 -04:00
Ryan Hughes 515b566cb9 Add skip_build 2026-07-13 19:55:23 -04:00
Ryan Hughes 2ffe4f811c Refactor 2026-05-08 01:04:52 -04:00
Ryan Hughes ad61f12c11 Remove stable pkgbuilds 2026-03-07 16:25:40 -05:00
Ryan Hughes 45a356eb70 Create shared / fast track for certain packages 2026-01-10 20:18:35 -05:00
Ryan Hughes ed25b693a1 Update paths 2025-11-10 12:27:13 -05:00
Ryan Hughes 02abd5fb51 Ensure repo dirs exist 2025-11-10 12:25:16 -05:00
Ryan Hughes 4b5342ba66 Add stable / edge 2025-11-10 11:03:39 -05:00
Ryan Hughes 4d088d8fe9 Fix qemu issue 2025-11-04 00:18:22 -05:00
Ryan Hughes dacf0cd9a4 Simplify and solve cache issue 2025-10-30 00:36:19 -04:00
Ryan Hughes 78c1ef2658 Unified aarch64 / amd64 image 2025-10-29 22:55:17 -04:00
Ryan Hughes 34297628a3 Update builds 2025-10-27 23:22:17 -04:00
Ryan Hughes b853ddc51a Consolidate more things 2025-10-27 00:38:25 -04:00
Ryan Hughes 51a3318b10 Consolidate more helpers 2025-10-27 00:28:46 -04:00
Ryan Hughes e400a65fe4 Consolidate docker checks 2025-10-27 00:23:29 -04:00
Ryan Hughes ffbde7cde9 Remove legacy iteme 2025-10-27 00:00:46 -04:00
Ryan Hughes 95d1a77659 Overhaul the whole build process 2025-10-26 23:33:22 -04:00
Ryan Hughes db283dd98a Fix permissions for real this time 2025-10-23 00:16:11 -04:00
Ryan Hughes a5232798dc Update builder id and remove src 2025-10-23 00:07:33 -04:00
Ryan Hughes f2e1c227a2 Add ability to run single builds 2025-10-18 18:34:58 -04:00
Ryan Hughes f175eb3574 Update build process to use local files too 2025-10-08 21:34:21 -04:00
Ryan Hughes 926d6892ea Update to support more outputs 2025-09-07 23:23:37 +02:00
Ryan Hughes 38977211d3 Document --skip-signing 2025-09-07 23:06:51 +02:00
Ryan Hughes 645cac7901 Fix --skip-signing 2025-08-30 19:00:05 +03:00
Ryan Hughes c7b4bdd3a1 Add --skip-signing option 2025-08-28 23:04:48 +03:00
Ryan Hughes c57c9620de Lots of cleanup 2025-08-28 19:44:01 +03:00
Ryan Hughes 1e1ddee737 Clean up build and add gpg signing 2025-08-28 19:12:44 +03:00
Ryan Hughes 62ccd644bd Logging changes so I can delete packages 2025-08-28 01:12:27 +03:00
Ryan Hughes e00a529ba9 Probably should have committed a long time ago... 2025-08-25 05:45:19 +02:00