Commit graph

5 commits

Author SHA1 Message Date
Admin
c091430d32 ci: a quiet header, a build that visibly moves, and scripts that leave the machine alone -- the window's top is one band: the branch and its tip, the test progress large (17 / 29) with failed and warning counts only when there are any, the run's elapsed time, Run now and Stop; the line under it is the run progress bar and the tiles start right below it, the rows of counts, "now:" and "Watching" are gone and next poll and the model's state moved to the one footer line; a running step carries what its command is doing ("compiled makepad_draw · 212 crates", told at most twice a second from cargo's artifact messages) and the running tile shows it, so a ten-minute warm build no longer looks stuck; director embeds a terminal, so its script builds the pty helper as the terminal's does; ci.launch takes app_env, and Files runs on its synthetic tree (MAKEPAD_FILES_DEMO) instead of walking the real home, which made macOS ask the person at the CI box for access to Downloads on behalf of "release"; and the workspace tests run with --no-fail-fast, so a run names every failing test target instead of the first
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 23:41:02 +02:00
Admin
7ffcdab2ca ci: a stop or a restart is not a test result -- restarting the CI app in the middle of a run painted the whole wall red and then left it red: every script still going failed with "stopped by user", a script that had not launched yet got nil from ci.launch and raised method-not-found errors that counted as real failures, and the interrupted tip was recorded as tested, so the new process had nothing to run. Now a failure recorded while the run is already stopped is a skipped step, never a failed one; ci.launch hands a stopped script the inert app; a run the process shutdown interrupts leaves the last finished run as the record and its tip untested, so the next start runs it again; and a run the user stops keeps what finished, leaves the rest untested and says "stopped before it finished" instead of passing
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 23:15:29 +02:00
Admin
fbe8c2e6c4 ci: the wall shows THIS run and is fit for an OLED -- a tile is grey until its script is tested, grey-blue with a progress bar while it runs, then grey-green, grey-amber or the one bright thing on the screen, a failure red; what the last finished run said is a small dot, never the tile's colour, and a script the user stopped or a restart interrupted goes back to untested instead of red; tiles carry their short name (wm, scope, workspace) in a named font family, since an empty family only rendered where a system fallback happened to exist and the tiles came up blank on the CI box; the packing picks the columns that give the largest whole name; a progress line says how many are tested, passed, warned and failed and what runs now; the pulse and the clocks tick on an 8 Hz timer only while something runs, never per frame on a 240 Hz display; the window no longer maximizes into native fullscreen over its left-half geometry, the background is near-black, the detail sits under the grid so it fits 960 points, a watcher problem is one header line, and the install button shows only when the vision model is missing; a compiler warning is orange and never red in the root script, and a desktop-only app with no library is not applicable on web and mobile targets instead of a standing warning
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 22:10:19 +02:00
Admin
0458f0c2b7 ci: a run is one target dir and one cargo batch per target, and the wall draws -- the root script warms a run-level cache with ONE cargo check per target covering every app package (the matrix's BuildTy per row, diagnostics attributed by package_id, --keep-going then per-package fallback when one package fails) and one release build of all bins, so the 24 app scripts answer check_targets and build from the cache; the tile grid registers its draw type on DrawQuad and merges its shader into the widget, which is what makes the green / orange / red / grey tiles appear at all; the window takes the left half of the main display (system_profiler, overridable with window = [x, y, w, h]); only apps/<name>/Cargo.toml is an app, so a private app's nested deps are its libraries; scope is no longer skipped by default; a failed launch hands the script an inert app instead of nil and a failure a step already carries is said once; the log keeps the first 20 diagnostics per cargo invocation and hub-install counts a present file once
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 21:52:43 +02:00
Admin
229cdd4d2e ci: tools/ci, a Splash runtime that watches a branch and runs every ci.splash it finds -- each script checks its app on every other platform, builds and runs it here, drives it over --remote and has a small local vision model judge the grabs
A test is a ci.splash beside what it tests; the script decides every input and the model only ever judges one picture against one acceptance text. mod.ci: launch (hidden, --remote, user_seq preserved), key, type_text, click, get, snap, wait_log (a * is a gap inside one line), no_errors, grab, quit; step, sleep, check, run; cargo, check_targets (the cargo makepad check matrix, check only for platforms we are not on, a test fails if the two tables drift), test, build, machine (another box over the makepad tunnel), exclusive; judge, accept, ask. The watcher polls git ls-remote once a minute for work and any extra branches, syncs a checkout the CI owns, runs the root script first and alone, then the rest up to a parallel limit behind one shared model judge. The window is a wall of squares, one per script: green passed, orange warnings, red failures, with a detail panel for the selected one.

Scripts: the root ci.splash (workspace check with core warnings denied, the tests), apps/wm (desktop up, switch to macOS by Cmd+Space / type / Return, launch the terminal and the browser, each waited for by the WM's own first-frame line), and one per main app in the default shape. Proven here: apps/wm/ci.splash green in 280 s, fifteen target checks and seven vision verdicts.

Models come from Hugging Face through the hub: registry entries qwen3.5-4b-vision and qwen3.5-9b-vision with exact revisions, sizes and digests, and hub-install, a command line over LocalModels::start_install. vlm-probe reads PNG.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 21:23:11 +02:00