Commit Graph
1509 Commits
Author SHA1 Message Date
David Heinemeier Hansson 90ef25ca62 Update ttfx to v0.3.3 2026-09-21 10:39:15 +02:00
Ryan Hughes b850ae3132 Merge pull request #571 from omacom/rust/parallel-check-builds
strata, flea: compile the test harness in parallel
2026-09-21 04:19:30 -04:00
Ryan Hughes ec81434684 strata, flea: compile the test harness in parallel
Both upstreams set fat LTO in their release profile (strata also
codegen-units = 1), which compiles the final crate on one thread. That
is a reasonable trade for the binary users run, and build() keeps it.
check() then compiled the same crate a second time under the same
profile for the test harness, and threw it away. On the aarch64 builds,
which run under QEMU, those two serial compiles were 106 of strata's
118 minutes.

check() now builds the harness with thin LTO and 16 codegen units in
its own target directory. The shipped binary is unchanged. Measured on
the x86_64 builder for strata's test binary: 708 s serial, 223 s with
this profile. Local run: shipped strata still 7m30s from target/, tests
3m43s from target-check/, 1998 passed.

ttfx has the same upstream profile but no check(), so nothing to do.
2026-09-21 02:23:36 -04:00
Ryan Hughes cb8aae545e Merge pull request #512 from omacom/auto/sync-upstream
chore: sync upstream releases
2026-09-21 00:54:31 -04:00
ryanrhughes 016491b41c chore: sync upstream releases 2026-09-21 04:47:32 +00:00
Ryan Hughes bc7ea4d3ef Merge pull request #569 from omacom/flea/0.3.1-shelfundo-tmpfs
flea: update to 0.3.1, run shelfundo tests on tmpfs, skip three under QEMU
2026-09-21 00:45:03 -04:00
Ryan Hughes 5e98f9d810 flea: update to 0.3.1, run shelfundo tests on tmpfs, skip three under QEMU
flea 0.3.0 never published: its shelfundo suite (new in 0.3.0) failed check() on the 2026-09-18 publish build, and 0.3.1 fails the same way on the sync PR. undo_refuses_to_walk_a_stranger_back deletes a file, creates another under the same name, and expects undo to tell them apart by (dev, ino, kind). ext4 hands the freed inode number straight back to the next create, so on the droplet's /tmp the stranger is identical and undo walks it back into a directory that does not exist. tmpfs allocates inode numbers from a counter and never reuses one. The suite joins the filesystem tests that already run with TMPDIR on /dev/shm.

On aarch64 three more tests fail: two in backend::child and one in menu_registry expect spawning a missing program to be reported as not started. Under QEMU user-mode emulation glibc's posix_spawn cannot observe the child's failed execve; the spawn succeeds with exit 127. Skipped on aarch64 only.
2026-09-21 00:13:46 -04:00
Ryan Hughes 1b3cc7703d Merge pull request #560 from omacom/strata/0.19.0-skip-restart-waiter
strata: update to 0.19.0, skip two tests the build host cannot run
2026-09-20 23:36:12 -04:00
David Heinemeier Hansson e35af28dac Merge pull request #563 from omacom/update-owe-0.2.2
Update OWE and lock feed to 0.2.2
2026-09-21 03:49:34 +02:00
David Heinemeier Hansson 42493fa731 Update OWE and lock feed to 0.2.2 2026-09-20 20:35:00 -05:00
Ryan Hughes 1c0ea5be84 strata: update to 0.19.0, skip two tests the build host cannot run
0.19.0 adds two restart_waiter tests that run `sh -c 'while kill -0 "$1"; do sleep; done'` with the pid u32::MAX. Arch's sh is bash 5.3, whose kill builtin in POSIX mode prints "not a pid or valid job spec" for that number but exits 0, so the loop never ends; every droplet build of 0.19.0 sat there until the 180-minute job timeout. Upstream CI runs on Ubuntu, where sh is dash and rejects the number.

It also adds ownership_probe_errors_disable_in_place_updates, which points the pacman path at a directory and expects Command::output() to fail. aarch64 builds run under QEMU user-mode emulation, where glibc's posix_spawn cannot observe the child's failed execve; the spawn succeeds with exit 127 and the assertion fails. Skipped on aarch64 only; it passes natively.

Both skips carry comments; the sync bot rewrites only version fields, so they survive future syncs.
2026-09-20 21:34:14 -04:00
Ryan Hughes 955ebc0127 Merge pull request #562 from omacom/ci/reuse-pr-artifacts
Reuse existing build artifacts when a PR's package tree is unchanged
2026-09-20 21:21:21 -04:00
Ryan Hughes c74c708f35 Reuse existing build artifacts when a PR's package tree is unchanged
Every push to a PR rebuilt every package the PR touches, on every
architecture, even when only one of them changed. The daily sync PR
carries around thirty package/arch pairs; fixing one package meant
rebuilding all of them, and an aarch64 build under QEMU takes up to an
hour. Nine runs of that PR cost about 36 droplet-hours in two days.

The planner now asks the artifact store for <pkg>-<arch>-<tree hash>
before adding an entry to the matrix and drops entries that already
have one. That is the same lookup publish.yml makes on merge, so a
reused entry publishes exactly the file it would have anyway. Dry run
against the current sync PR: 27 of 31 entries reused, 4 built.

Pack and Upload no longer run with always(): only a successful build
uploads, so an artifact's existence means that tree built.

workflow_dispatch always builds; it is an explicit request.
2026-09-20 21:09:55 -04:00
David Heinemeier HanssonandClaude Fable 5.1 b7706e8f62 Update Hype to 0.3.1 (#561)
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 01:48:15 +02:00
Ryan Hughes 5164cc2a44 Merge pull request #550 from omacom/update-omasnap-1.3.0
omasnap: update to 1.21.0
2026-09-20 16:01:34 -07:00
Ryan Hughes cb59806455 omasnap: update to 1.21.0
Upstream moved to omacom/omasnap and cut 1.21.0 from the same line as 1.20.1, so the version simply increases and no epoch is needed.

check() flushes dirty pages before the smoke suite. The suite fsyncs its working documents under /tmp; on the CI droplets the build leaves about a gigabyte of dirty pages, and the flush that starts a few seconds into the suite made those fsyncs stall past the suite's 5-second settle windows on the first run after every build.
2026-09-20 18:47:21 -04:00
Ryan Hughes 4b60e4cd95 Merge pull request #551 from omacom/ci/daily-builder-images
Publish tested daily package builder images
2026-09-20 13:49:44 -07:00
Ryan Hughes 8919d9f83e Merge pull request #555 from omacom/ci/artifact-helpers-errexit
artifact-helpers: survive bash -e
2026-09-20 13:44:22 -07:00
Ryan Hughes f0d18a8f7c Merge pull request #554 from omacom/ci/tooling-from-base-branch
Build PR tooling from the base branch tip, not the event's base sha
2026-09-20 13:42:29 -07:00
Ryan Hughes 451280ace1 artifact-helpers: survive bash -e
`restore=$(shopt -p nullglob)` exits 1 when nullglob is off, which it is
in the workflow shell. Under the `bash -e` that GitHub runs steps with,
that ended "Pack artifact" before tar ran: every job on #512 and #550
built fine and then failed with nothing in the log but the command.

The self-test never saw it because `pack_packages ... || fail` suppresses
errexit. Enumerate package files with a loop instead of toggling shell
options, and add a test that calls both helpers under `bash -e` exactly
as the workflows do; it fails against the old helper.
2026-09-20 16:42:24 -04:00
Ryan Hughes 2c22669d65 Build PR tooling from the base branch tip, not the event's base sha
github.event.pull_request.base.sha is a snapshot taken when the PR was
last pushed, not the current tip of the base branch. A reopened or rerun
PR therefore builds with whatever master looked like at its last push,
and a tooling fix that landed on master since then never reaches it:
the daily sync PR reopened after #553 merged checked out a base without
helpers/artifact-helpers.sh and failed at "Pack artifact".

Check out base.ref instead. The plan's diff and the empty-PR check still
compare base.sha to head.sha, so the list of changed packages is
unaffected; only the tooling that runs on the droplet moves to the tip.
2026-09-20 16:40:23 -04:00
Ryan Hughes 30e862935e Merge pull request #553 from omacom/ci/pack-artifacts-for-epoch-names
Carry PR build artifacts inside a tar so epoch package names survive
2026-09-20 13:17:02 -07:00
Ryan Hughes 124b067694 Carry PR build artifacts inside a tar so epoch package names survive
actions/upload-artifact rejects any path containing ':', and makepkg names
a package with an epoch `name-1:ver-rel-arch.pkg.tar.zst`. Every PR that
built such a package (cursor-cli in the sync PRs, omasnap once it gained an
epoch) failed at "Upload artifact" after a successful build, and publish
then rebuilt from scratch on merge.

The files now ride inside packages.tar for the artifact hop and come back
out with makepkg's names untouched: pacman clients and bin/publish-artifact
both require the filename to match PKGINFO, and the channels already carry
these names. publish.yml still accepts bare pre-packing artifacts until the
7-day retention drains them.

helpers/artifact-helpers.sh holds both halves; tests/artifact-helpers.sh
covers the round trip and runs with the other self-tests.
2026-09-20 15:52:02 -04:00
Ryan Hughes 30af71af24 Validate proposed builder images on both native architectures 2026-09-20 15:41:27 -04:00
Ryan Hughes ad328b725d Build and test daily package builder images 2026-09-20 15:36:18 -04:00
Ryan Hughes dc82479210 Merge pull request #470 from scottjones/add-omarchy-steam-fex
Add omarchy-steam-fex for Apple Silicon (aarch64)
2026-09-20 11:40:47 -07:00
Ryan Hughes ca3433c3f1 Merge pull request #548 from omacom/fix/elsewhen-install-path
Fix Elsewhen shell plugin install path
2026-09-20 11:21:38 -07:00
Ryan Hughes 54d17b9e43 Merge pull request #529 from jdvmi00/spark/nvidia-utils-rmapi-tegra
nvidia-utils: include missing ARM graphics library
2026-09-20 11:13:13 -07:00
534f007d6b Add Steam FEX launcher for Apple Silicon (aarch64)
Package the tested Asahi Steam launcher as omarchy-steam-fex, with
runtime-only dependencies and offline launcher checks in makepkg.
Preserve the original launcher behavior and document its runtime
requirements and downstream ownership handoff.

Co-authored-by: dl-alexandre <166029845+dl-alexandre@users.noreply.github.com>
Co-authored-by: Santeri Hernejärvi <santeri@santeri.se>
2026-09-20 13:45:47 -04:00
Ryan Hughes 2e01fabfd6 Fix Elsewhen shell plugin install path 2026-09-20 13:45:17 -04:00
Ryan Hughes 3553c690a6 Merge pull request #478 from scottjones/share-picker-stable-rust
Build hyprland-preview-share-picker with stable Rust
2026-09-20 10:43:25 -07:00
Ryan Hughes 31e23bc538 Merge pull request #546 from omacom/fix/pending-build-approval
Keep unapproved PR builds pending instead of failing
2026-09-20 10:31:20 -07:00
Ryan Hughes 158133f15a Keep unapproved PR builds pending instead of failing 2026-09-20 02:31:44 -04:00
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
Scott Jones a1a32908c5 Build hyprland-preview-share-picker with stable Rust 2026-09-19 18:40:12 -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
David Heinemeier Hansson 65ad77a63d Update Hype to 0.3.0 (#539) 2026-09-19 21:43:08 +02:00
David Heinemeier Hansson 85a89659dc Update Hype to 0.2.0 (#532) 2026-09-19 15:39:22 +02:00
Jim Martin 0a1ae34275 nvidia-utils: carry missing ARM EGL library fix 2026-09-19 00:45:52 -05: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
Spencer BullandGPT-6 34257e0820 Update OpenVINO GenAI maintainer email
Co-Authored-By: GPT-6 (Codex) <noreply@openai.com>
2026-09-18 22:51:46 -05:00
Spencer BullandGPT-6 f2805a5a39 Keep the GenAI runtime PR independent of Voxtype 1.1
Move the Voxtype optional dependency metadata and release bump to a separate draft pending upstream 1.1. The GenAI runtime package can ship independently.

Co-Authored-By: GPT-6 (Codex) <noreply@openai.com>
2026-09-18 22:45:23 -05:00
Spencer BullandGPT-6 7bd8f5de1c Ship Voxtype OpenVINO metadata in a new package release
Bump pkgrel so the builder produces an artifact and installed packages receive the optional dependency metadata. Restrict the Intel/OpenVINO recommendations to x86_64, where these packages are available.

Co-Authored-By: GPT-6 (Codex) <noreply@openai.com>
Co-Authored-By: GPT-6 Astra XHigh (Codex) <noreply@openai.com>
2026-09-18 21:58:04 -05:00
Jacob Mink 3024302725 Ensure OpenVINO GenAI package includes both C bindings 2026-09-18 21:47:44 -05:00
Jacob Mink c779955714 Fix OpenVINO GenAI C runtime loading 2026-09-18 21:47:44 -05:00