Skip to content

CI proof: proof-all on omarchy-pkgs#2573 (do not merge) - #2

Closed
omarchybot wants to merge 24 commits into
proof-basefrom
proof-all
Closed

omarchybot wants to merge 24 commits into
proof-basefrom
proof-all

Conversation

@omarchybot

Copy link
Copy Markdown
Owner

Runs omacom/hype's canonical workflow with the dependencies from omacom/omarchy-pkgs#2573, to show the omacom/hype pull requests pass once that lands. Not for merging.

dhh and others added 24 commits November 11, 2026 23:00
Omarchy's apps now build the same way: one CMakeLists.txt with the sources as a static library shared by the app and its tests, and identical bin/build, bin/test, bin/install and CI across every app. Everything the two .pro files set carries over: the modules, the resources, -fno-exceptions with link-time optimization, -Wall -Wextra, zlib and libwebp (now found through pkg-config), and the Qt 6.9 floor, with a toolchain under build/qt/ still preferred.

bin/test now runs ctest, which takes the C++ suite and the Python command tests, which nothing ran before. With the environment no longer set by the script, the window-level tests run unless HYPE_GUI_TESTS=0, rather than only when it is set.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The window accepted bare, single-quoted and annotated colors in a theme's colors.toml, but the slides and the colors recorded by choosing a theme only took double-quoted ones, so such a theme styled Hype's window and left the slides on the defaults. Both now read through one function.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Restoring it as an empty string would point later tests at /themes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A bare Arch container has no fonts, so slides painted nothing and the font picker had one family to choose from. test_trials needs the trial importer's own Python packages, which only that tooling uses.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The bundled toolchain was prepended to the search path, which CMake searches before the environment variable, so the documented override couldn't select another Qt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The font picker folds Noto's many families into a few, and the test that it rebuilds on a font change relies on that fold being there.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The core library's objects are LTO-only, so the test link says so rather than relying on the linker plugin. qt6-wayland supplies Qt's native Wayland platform plugin; without it Hype runs under XWayland. The HYPE_GUI_TESTS note now says it covers the C++ window-level tests, since test_shutdown always opens the editor.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@openai.com>
A map sorted them by name, which reordered every color line in the front matter on a theme change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@openai.com>
hype deck.md --theme tokyo-night --save saved and then opened the editor, which offscreen meant waiting forever, so bin/prepare-trials never got past its first deck. --save now writes, reports and exits like an export, without needing a display.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@openai.com>
While the chooser is open, Hype swallows input to its own windows and waits for the portal's response. A portal that exited after accepting the request never sends one, which left the editor locked with no way to close it. Watching the portal's name ends the wait with an error.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@openai.com>
ctest -R matches test names, not Qt test functions; -V is what shows those.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…manifest

render --slide wrote its PNG to any -o, the presentation included, and rendering a whole deck wrote slides.json in place without checking the write, so a full disk left a truncated manifest behind a successful exit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@openai.com>
Hype had no quit key. Ctrl+Q closes the window the way its close button does, so unsaved work still asks first; a bare Q would type a letter in the editors.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@openai.com>
A hard link to the presentation passed the path check and was overwritten in place. Renaming replaces the link instead, and a failed render no longer leaves a half-written PNG.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The package lives in omarchy-pkgs, so CI now reads the dependency list from there, and this change keeps the in-repo PKGBUILD and bin/install as they were apart from what building with CMake needs. Each test sets its own offscreen platform so a bare ctest works too, and a test whose dependency is missing fails with what to install rather than vanishing from the run.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
xdg-desktop-portal --replace hands the name straight to the new process, which never unregisters it, and the new process knows nothing of the old request. Any change of owner after the first one now ends the wait.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@openai.com>
The Arch package is built in omarchy-pkgs from the release tarball, with bin/build and the desktop entry and icon in pkgbuild/. The local PKGBUILD and the bin/install that ran makepkg on it went unused, so they go, with the ignores for their output, and the README points at omarchy-pkgs for dependencies. bin/install-dev stays: it registers a launcher for this checkout and needs only the icon.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@omarchybot

Copy link
Copy Markdown
Owner Author

Proof run finished: green with omarchy-pkgs#2573's dependencies.

@omarchybot omarchybot closed this Nov 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants