Commit Graph
100 Commits
Author SHA1 Message Date
Ryan Hughes bda2a070f4 Merge pull request #545 from omacom/fix/build-approved-workflow-approval
Make build-approved release pending PR workflows
2026-09-19 23:18:55 -07:00
Ryan Hughes 3628915c5d Make build-approved release pending PR workflows 2026-09-20 02:11:34 -04:00
Ryan Hughes cce11a6917 Merge pull request #394 from physikal/add-bambustudio-bin
Add bambustudio-bin, Bambu Studio, to the fast ring
2026-09-19 23:06:10 -07:00
Ryan Hughes 49c44db179 Merge pull request #543 from omacom/chore/vouch-maintainers
Add maintainers to the vouched contributors list
2026-09-19 15:51:08 -07:00
Ryan Hughes 72e8b2b3bb Add maintainers to the vouched contributors list 2026-09-19 18:48:53 -04:00
Ryan Hughes e2d1f4f387 Fix Bambu Studio packaging and track upstream releases 2026-09-19 18:40:03 -04:00
Ryan Hughes 54ce26ccb8 Merge pull request #398 from omacom/add-omarchy-billboard-generator
Add omarchy-billboard-generator, the animated domain video maker
2026-09-19 15:21:16 -07:00
Ryan Hughes 6afd935759 Merge pull request #64 from jacob-vincent-mink/feature/openvino-genai
Add OpenVINO GenAI C runtime package
2026-09-18 21:29:17 -07:00
Ryan Hughes 722d65daff Merge pull request #523 from omacom/strict-off
Note why strict up-to-date is off
2026-09-18 15:57:19 -07:00
Ryan Hughes 3d208b340a Merge pull request #519 from omacom/add-owe
Add owe and owe-lockfeed
2026-09-18 15:57:06 -07:00
Ryan Hughes 868f2a1e18 Tests: note that publish, not strict protection, guards the merged tree 2026-09-18 18:46:54 -04:00
Ryan Hughes 81db8fa9a1 Merge pull request #522 from omacom/elsewhen-1.0.0
elsewhen: 1.0.0, the only tag upstream has
2026-09-18 15:44:43 -07:00
Ryan Hughes 2c3fbe38cb Merge branch 'master' into add-owe 2026-09-18 15:12:02 -07:00
Ryan Hughes fae6eaec1b elsewhen: 1.0.0, the only tag upstream has
The package was added pointing at v0.1.0 with a placeholder checksum,
but that tag was never cut; upstream went straight to v1.0.0. The
package has never built anywhere. Point at the real tag and fill the
digest. The upstream watch keeps it current from here.
2026-09-18 18:11:35 -04:00
Ryan Hughes bcb80f08ee Merge pull request #520 from omacom/report-dispatch-fix
Publish report: dispatch runs skip the PR comment; log before comment
2026-09-18 15:09:23 -07:00
Ryan Hughes da4e1b55a8 Publish report: no PR comment on dispatch runs; append the log before commenting
A workflow_dispatch runs from master's head. That commit's PR merged
something unrelated, so looking the PR up by commit attached a failed
elsewhen report to #515, whose merge had nothing to do with elsewhen.
Dispatch runs now go to the log only. The log append also moves ahead
of the PR comment so the record exists by the time anyone follows the
comment to it.
2026-09-18 18:07:43 -04:00
Ryan Hughes ddeb75aa4f Merge pull request #517 from omacom/hype/add-package
Add Hype presentation editor package
2026-09-18 13:05:39 -07:00
Ryan Hughes 509c24b8c2 Merge branch 'master' into hype/add-package 2026-09-18 12:14:15 -07:00
Ryan Hughes 5580f21725 Merge pull request #518 from omacom/builder-qemu-10
Builders emulate aarch64 with QEMU 10.2.3 instead of the abandoned 7.2 image
2026-09-18 12:13:49 -07:00
Ryan Hughes efff828746 Builders emulate aarch64 with QEMU 10.2.3 instead of the abandoned 7.2 image
multiarch/qemu-user-static stopped at QEMU 7.2 (January 2023). Under it,
qmake's compiler probe (`g++ -E -v` in toolchain.prf) returns nothing on the
current gcc 16 toolchain, so every qmake package fails on aarch64 with
"failed to parse default include paths from compiler output" (hype, PR #517).
The same PKGBUILD builds under QEMU 10.2.3 and 11.1.

Register through tonistiigi/binfmt at a pinned tag, on both the ephemeral
builder droplets and the rootful-Docker path of setup_qemu, uninstalling any
existing entry first because the tool keeps an older registration in place.
The tag is now the one place that decides what every emulated build runs
under. Flags stay F and C, which rootless sudo inside the builder needs.
2026-09-18 14:56:03 -04:00
Ryan Hughes 7a3f00b924 Merge pull request #515 from omacom/report-build-failures
Publish report covers build failures and package sources
2026-09-18 11:03:19 -07:00
Ryan Hughes a24c56cd52 Dispatch: a package already published at master's version is a no-op, not a failure
Re-running publish for a package that is already live (a dispatch for
something that turned out fine, or a retry after a partial failure) made
bin/build report nothing to build and exit 2, which the publish step
treated as an error. The collect step now dry-runs first: if the channel
already holds master's version the package is recorded as
already-published and skipped, and a run where every package is in that
state exits cleanly with a record saying so.
2026-09-18 14:01:07 -04:00
Ryan Hughes 4717cfec4e Publish record covers build failures, and says where each package came from
When a package had no PR artifact and its build failed, the publish
step never ran, no record was written, and the report job failed
looking for it. The collect step now records each package's source
(PR artifact, built here, or build-failed) and writes the record itself
when a build fails, so the report can say plainly that nothing was
published and why.
2026-09-18 13:39:56 -04:00
Ryan Hughes 16ce7ef109 Merge pull request #514 from omacom/empty-pr-fails
Fail the PR check when the diff against base is empty
2026-09-18 09:57:17 -07:00
Ryan Hughes 54685a55a1 PR check fails when the PR changes no files relative to its base
A PR whose diff against its base is empty has already landed some other
way, typically a sync PR carrying the same bump or a merge from master
that swallowed it. Merging it records a change that isn't one and could
mask a real mistake. result now fails with a message saying to close it.
2026-09-18 12:55:18 -04:00
Ryan Hughes 25862ce7bb Merge pull request #513 from omacom/publish-report
Report each publish on the PR and in a public JSON log
2026-09-18 09:52:57 -07:00
Ryan Hughes 902f6d3da9 Report each publish: comment on the merged PR, append to a JSON log in the bucket
The publish job now writes publish-record.json describing every
channel/architecture slot it touched: the packages, whether the slot was
published or failed, the target (live or a proof prefix), the commit and
the run. A report job renders that as a comment on the PR the merge
commit came from (looked up by commit, so squash and rebase merges work)
and appends the record as one line to publish-log.jsonl in the bucket,
served next to the packages at https://pkgs.omarchy.org/publish-log.jsonl.
Failures are reported too, with the slots that landed before the failure,
which is when a human most needs to know.
2026-09-18 12:42:47 -04:00
Ryan Hughes f1c8da41f5 Merge pull request #504 from omacom/auto/sync-upstream
chore: sync upstream releases
2026-09-18 09:26:33 -07:00
Ryan Hughes 3260b21deb Merge branch 'master' into auto/sync-upstream 2026-09-18 09:02:19 -07:00
Ryan Hughes 290793fdcc Merge pull request #511 from omacom/upstream/ci-builds
Build PRs on ephemeral droplets; publish merged packages from CI
2026-09-18 08:55:11 -07:00
Ryan Hughes 5a701be9d1 PR plan job: bootstrap when the base branch has no bin/build-matrix yet 2026-09-18 11:46:50 -04:00
Ryan Hughes 537c377fa5 Build PRs on ephemeral droplets; publish merged packages from CI
Every pull request now builds the package directories it touches on
ephemeral DigitalOcean droplets, and every merge to master publishes the
resulting artifacts into the channels each package belongs to. The
repository host's timers become the fallback rather than the pipeline.

Build (.github/workflows/build-pr.yml)
  One job per package per architecture, always against edge. The artifact
  is labelled with the package directory's git tree hash. Tooling (bin/,
  helpers/, build/) is checked out from the base branch; the PR supplies
  only pkgbuilds/, so a PR can change what is built, never how. Builds
  run only for trusted authors: collaborators, .github/VOUCHED.td, or a
  PR carrying the build-approved label. A single required check, result,
  aggregates the matrix.

Publish (.github/workflows/publish.yml, bin/publish-artifact)
  One job per merge. It collects the PR artifacts for the merged tree,
  builds anything that has none, then walks each channel/architecture
  slot once: pull that database, repo-add every package that belongs in
  it, upload packages, signatures, then the database. A published
  filename is immutable; identical bytes under an existing name only
  gain a database entry, different bytes are refused. Fast-ring packages
  reach edge, rc and stable in the same run from the same file.

Matrix (bin/build-matrix)
  Package x architecture, with the channels the artifact ships to,
  decided by package_builds_for_mirror so CI and the host agree.
  arch=any packages build once and land in every architecture database.

Builder (build/build.sh, bin/build, build/Dockerfile)
  With no local published tree, plan against and resolve from the public
  channel over HTTPS. PACKAGER is set to Omarchy. rclone is in the image.

Runners (ci/)
  A controller droplet polls GitHub with curl and creates one g5 droplet
  per queued job from cloud-init, deleting them when off or over-age.
  Builders carry QEMU with credential support for aarch64. Operator SSH
  keys come from GitHub. tests/controller.sh and tests/publish-artifact.sh
  cover the decisions against fixtures and real makepkg output.

Tests run on pull requests only; branch protection requires result,
self-tests and build-isolation with up-to-date branches.
2026-09-18 11:25:32 -04:00
Ryan Hughes 1f025695d5 Build t3code-bin for aarch64 2026-09-17 13:35:33 -04:00
Ryan Hughes 5434d7c6c6 Merge pull request #492 from omacom/auto/sync-upstream
chore: sync upstream releases
2026-09-17 06:37:50 -07:00
Ryan Hughes 1beee4695b Package Flea 0.3.0 phone backends and shelf 2026-09-17 09:34:56 -04:00
Ryan Hughes b8cdc38609 Merge pull request #464 from omacom/auto/sync-upstream
chore: sync upstream releases
2026-09-16 08:04:36 -07:00
Ryan Hughes 6c9bdbd0a2 Merge pull request #468 from omacom/chore/ghostty-fast-ring
Put Ghostty on the fast release ring
2026-09-15 19:24:00 -07:00
Ryan Hughes 3c671736ec Put Ghostty on the fast release ring 2026-09-15 22:21:52 -04:00
Ryan Hughes 5fe2367366 Release omarchy 4.0.4 2026-09-15 17:07:20 -04:00
Ryan Hughes ea69034287 Merge pull request #462 from omacom/feat/ghostty-x86_64
Build Ghostty for x86_64 with pinned Zig toolchain
2026-09-15 13:19:44 -07:00
Ryan Hughes edc411ae4d Build Ghostty for x86_64 with pinned Zig toolchain 2026-09-15 16:13:12 -04:00
Ryan Hughes b27f3fe62e Merge pull request #453 from scottjones/contrib/ghostty-aarch64
Build stable Ghostty and its split packages for aarch64
2026-09-15 12:29:03 -07:00
Ryan Hughes eeb137e055 Merge pull request #452 from scottjones/contrib/obs-aarch64
Add OBS Studio for aarch64 without the CEF browser plugin
2026-09-15 12:28:21 -07:00
Ryan Hughes 5b8ef2617a Merge pull request #450 from scottjones/contrib/pinta-aarch64
Add Pinta and its .NET 10 dependencies for aarch64
2026-09-15 12:27:13 -07:00
Ryan Hughes 7275574e77 Merge pull request #448 from scottjones/contrib/grok-bot-aarch64
Build Grok Bot 0.47.0 for aarch64 and fix desktop packaging
2026-09-15 12:19:25 -07:00
Ryan Hughes 35bb9efba4 Merge pull request #457 from omacom/auto/sync-upstream
chore: sync upstream releases
2026-09-15 12:14:23 -07:00
Ryan Hughes 34accaef7f Merge pull request #454 from omacom/fix/dkms-omarchy-headers
Remove kernel header dependencies from DKMS packages
2026-09-14 22:32:20 -07:00
Ryan Hughes dee4caf7bc Let DKMS packages rely on headers supplied by the base install 2026-09-15 00:46:31 -04:00
Ryan Hughes 267d84c9e2 Merge pull request #456 from omacom/fix/yaru-session-cleanup
Fix Yaru packaging after upstream removed its X11 session
2026-09-14 21:21:02 -07:00
Ryan Hughes 113ff62459 Allow absent X11 session files in Yaru split packaging 2026-09-15 00:18:51 -04:00
Ryan Hughes 2c7912fe59 Merge pull request #455 from omacom/fix/published-build-guard
Skip retained published archives when planning builds
2026-09-14 21:16:28 -07:00
Ryan Hughes 9d5c3eea19 Skip retained published archives when planning builds 2026-09-15 00:13:57 -04:00
Ryan Hughes 6064a14d47 Use Omarchy headers for IPU7 and MacBook SPI DKMS packages 2026-09-15 00:06:41 -04:00
Ryan Hughes cc143f7352 Merge pull request #446 from omacom/auto/sync-upstream
chore: sync upstream releases
2026-09-14 18:37:42 -07:00
Ryan Hughes b65e187e78 Refresh Motorcomm compatibility patch for upstream 1.0.34 2026-09-14 21:33:21 -04:00
Ryan Hughes 191cd775cd Merge pull request #445 from omacom/refactor/direct-upstream-sync
Replace AUR sync with direct upstream release watches
2026-09-14 18:19:47 -07:00
Ryan Hughes b34de5c29e Replace scheduled AUR imports with direct upstream watches 2026-09-14 21:15:17 -04:00
Ryan Hughes f26a60aef7 Merge pull request #434 from omacom/auto/sync-upstream
chore: sync upstream releases
2026-09-14 16:40:09 -07:00
Ryan Hughes 8b43589dc5 Merge pull request #433 from omacom/auto/sync-aur
chore: sync AUR packages
2026-09-14 16:39:39 -07:00
Ryan Hughes 7b11c97603 Fix unsigned patch sources for Omarchy kernels 2026-09-14 15:54:03 -04:00
Ryan Hughes a01153595b Merge pull request #440 from kwilczynski/feature/add-linux-omarchy-kernels
Add new base and BORE-enabled Linux kernel packages for Omarchy
2026-09-14 12:20:14 -07:00
Ryan Hughes 61c8f08aea Merge pull request #437 from omacom/fix/publish-successful-builds
Publish successful packages when another build fails
2026-09-13 23:54:59 -07:00
Ryan Hughes de4880081d Merge pull request #436 from omacom/fix/cua-hyprland-pkgrel-3
Accept Hyprland 0.56.2-3 in the Cua plugin profile
2026-09-13 23:54:33 -07:00
Ryan Hughes eb001edc2e Keep build manifest directories owned by the host 2026-09-14 02:35:18 -04:00
Ryan Hughes d96b950901 Publish completed packages when a peer build fails 2026-09-14 02:30:11 -04:00
Ryan Hughes c345656307 Accept Hyprland 0.56.2-3 in the Cua plugin profile 2026-09-14 02:29:45 -04:00
Ryan Hughes 2463ac2cf4 Merge pull request #409 from omacom/auto/sync-upstream
chore: sync upstream releases
2026-09-13 15:59:11 -07:00
Ryan Hughes 0f2bc3f627 Merge pull request #430 from omacom/fix/cua-028-installer-guard
fix: handle embedded installer URLs in Cua 0.28.1
2026-09-13 15:58:42 -07:00
Ryan Hughes 603663a5a4 fix: handle embedded installer URLs in Cua 0.28.1 2026-09-13 18:54:52 -04:00
Ryan Hughes 39fe0b7858 Merge pull request #402 from omacom/auto/sync-aur
chore: sync AUR packages
2026-09-13 15:41:23 -07:00
Ryan Hughes bce3b368e7 Merge pull request #383 from ReenigneArcher/fix/sunshine/patch-packager-info
fix(sunshine): patch packager build flags
2026-09-12 20:54:38 -07:00
Ryan Hughes 5083e02722 Merge pull request #407 from omacom/fix/flea-tmpfs-tests
fix: run flea filesystem tests on tmpfs
2026-09-11 20:19:14 -04:00
Ryan Hughes 82363cbd9d fix: run flea filesystem tests on tmpfs 2026-09-11 20:17:21 -04:00
Ryan Hughes fbd7a4e63a Merge pull request #406 from omacom/fix/1password-desktop-filename
fix: package renamed 1Password desktop file
2026-09-11 19:53:26 -04:00
Ryan Hughes 364d76e46b fix: package renamed 1Password desktop file 2026-09-11 19:50:55 -04:00
Ryan Hughes f711dbb111 Merge pull request #403 from omacom/chore/flea-0.2.1
Update flea to 0.2.1
2026-09-11 18:43:48 -04:00
Ryan Hughes b108406a42 Update flea to 0.2.1 2026-09-11 18:41:25 -04:00
Ryan Hughes 8a24c16b6e Merge pull request #392 from omacom/chore/update-strata-flea
Update strata to 0.15.0 and flea to 0.2.0
2026-09-11 18:24:35 -04:00
Ryan Hughes 92c9924515 Run Strata search fixtures on tmpfs for overlay builders 2026-09-11 18:22:10 -04:00
Ryan Hughes c98a58be34 Merge current master and use landed sync fixture fix 2026-09-11 18:20:40 -04:00
Ryan Hughes 1b770cc72b Merge pull request #393 from omacom/auto/sync-upstream
chore: sync upstream releases
2026-09-11 17:47:11 -04:00
Ryan Hughes 953bc61515 Merge branch 'master' into auto/sync-upstream 2026-09-11 17:44:45 -04:00
Ryan Hughes 3d745a1c0b Merge pull request #396 from f-trycua/fix/sync-upstream-fixture
test: stabilize 1Password sync fixture
2026-09-11 17:44:19 -04:00
Ryan Hughes a42c2e2976 Make package validation independent of concurrency and release drift 2026-09-11 00:31:55 -04:00
Ryan Hughes 1961dd61b3 Update strata to 0.15.0 and flea to 0.2.0 2026-09-11 00:28:10 -04:00
Ryan Hughes c31ef469c5 Merge pull request #354 from omacom/auto/sync-upstream
chore: sync upstream releases
2026-09-11 00:26:37 -04:00
Ryan Hughes add11b04f6 Merge pull request #363 from omacom/auto/sync-aur
chore: sync AUR packages
2026-09-10 23:47:00 -04:00
Ryan Hughes 8eb8427b0a Merge pull request #372 from jdx/codex/mise-2026.9.4
chore(mise): bump to 2026.9.4
2026-09-10 02:09:19 -04:00
Ryan Hughes a44e2d2e49 Merge pull request #362 from omacom/fix/sunshine-aur-arm
Fix Sunshine AUR sync and ARM submodule checkout
2026-09-09 00:06:15 -04:00
Ryan Hughes 4023356d3f Fix Sunshine AUR sync and ARM submodule checkout 2026-09-08 23:53:38 -04:00
Ryan Hughes 60a6b0f0c7 Merge pull request #361 from omacom/fix/intel-ipu7-jsoncpp-rebuild
Rebuild Intel IPU7 camera against updated jsoncpp
2026-09-08 23:08:06 -04:00
Ryan Hughes 72a628aead Rebuild Intel IPU7 camera against updated jsoncpp 2026-09-08 23:05:29 -04:00
Ryan Hughes fb675306e0 Merge pull request #360 from omacom/fix/isolated-package-builds
Isolate package builds to prevent release/dev dependency conflicts
2026-09-08 22:52:01 -04:00
Ryan Hughes fc3226ff94 Build each package in an isolated container 2026-09-08 22:49:08 -04:00
Ryan Hughes 5902ed9596 Update Flea to 0.1.5 and repair upstream source verification 2026-09-08 16:16:28 -04:00
Ryan Hughes abd7606301 Release omarchy 4.0.3 2026-09-08 14:33:49 -04:00
Ryan Hughes b3c1ef8605 Merge pull request #327 from cmyk/update-flea-0.1.4
Update Flea to 0.1.4
2026-09-08 02:23:55 -04:00
Ryan Hughes 63692b18b3 Release omarchy 4.0.3rc1 2026-09-07 22:01:05 -04:00
Ryan Hughes 3eba5f7510 Release omarchy 4.0.3rc1 2026-09-07 21:43:00 -04:00
Ryan Hughes 2b15c13e86 advance: skip same-name files with differing bytes instead of failing
Incremental advances collide with same-version artifacts that reached the
destination through another lineage — the stable -> rc bootstrap seed and
native rc builds are not byte-identical to edge's builds of the same
version. A collision means the package has not moved in the source since,
so keep the destination's published copy and continue; the hard failure
also aborted before the db rebuild and sync, leaving the advance half-done.

Also stop advancing pinned packages into rc: eligibility deferred to
package_builds_for_mirror, whose OMARCHY_RC_PINS gate is never set during
an advance, so edge's omarchy/omarchy-settings looked movable — and could
have overtaken an in-flight RC pin under a fresh filename.
2026-09-07 17:53:26 -04:00