Commit Graph
100 Commits
Author SHA1 Message Date
theupriserandClaude Sonnet 5.5 738160882a test: menu-test.sh, a golden-output test of the menu rules, the plan and the app's JSON (REPO points at the checkout)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-03 11:19:01 +02:00
theupriser 2ac2b0d5ca docs: steamify-branch-cleanup: a released release/X.Y.Z branch is deleted once a tag or main contains it
Sync git.upriser.nl mirror / sync (push) Skipped
2026-10-02 14:41:40 +02:00
theupriser b3a58cf62c docs: CHANGELOG 0.5.0: the full test run, the ISO pipeline, tests moved here, the 2.11.0 test results
Sync git.upriser.nl mirror / sync (push) Skipped
2026-10-02 14:06:35 +02:00
theupriser 66ec27d4e2 test: vmstate reports Steam's autostart entry (silent/plain/none) instead of the old unit
Sync git.upriser.nl mirror / sync (push) Skipped
2026-10-02 09:28:05 +02:00
theupriser 899e9af06c test: the Steamify unit tests and the NVIDIA hardware test move here from steamify-cachyos (REPO points at the checkout)
Sync git.upriser.nl mirror / sync (push) Skipped
2026-10-02 07:53:25 +02:00
theupriser 660558ab45 notes: Steamify 2.10.0
Sync git.upriser.nl mirror / sync (push) Skipped
2026-10-01 21:05:27 +02:00
theupriser 5d168ea44f tests: nvidia suite (fake NVIDIA PC), controller block, name-based menu rows; get-iso.sh uses CachyOS's own mirror and resumes; notes
Sync git.upriser.nl mirror / sync (push) Skipped
2026-10-01 21:03:20 +02:00
theupriser fa67d65a96 nvidia: Plasma session with Big Picture autostart works
Sync git.upriser.nl mirror / sync (push) Skipped
2026-10-01 18:33:24 +02:00
theupriser cbd6920b96 nvidia: TTY-only KWin stutters, Big Picture in Plasma is perfect
Sync git.upriser.nl mirror / sync (push) Skipped
2026-10-01 18:26:25 +02:00
theupriser 74c859ef8d nvidia: direct scanout confirmed as the cause, a Plasma-less KWin session works
Sync git.upriser.nl mirror / sync (push) Skipped
2026-10-01 18:11:32 +02:00
theupriser 0052566ace nvidia: results of the hardware test on the RTX 5080 PC
Sync git.upriser.nl mirror / sync (push) Skipped
2026-10-01 18:02:17 +02:00
theupriser d045b82bae docs: nvidia/: TODO, research and test instructions for the NVIDIA fix (moved here from the steamify-cachyos branch); AGENTS.md: feature notes live in this repo
Sync git.upriser.nl mirror / sync (push) Skipped
2026-10-01 15:38:51 +02:00
theupriser 51c4fac70d docs: the ISO repo's PRs and vmisobuild.sh target master (feat/steamify is gone)
Sync git.upriser.nl mirror / sync (push) Skipped
2026-10-01 15:36:34 +02:00
theupriser 343ff1edda feat: vmtest.sh runs the plain-PC install check (generic) for every loader; vmprogress.sh knows the new jobs
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 14:47:40 +02:00
theupriser cb390c2dc0 docs: TESTPLAN results: the official 2.9.6 ISO, 341 pass, 0 fail
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 14:45:20 +02:00
theupriser b2eb003cc6 fix: the waitssh comment broke the one-line function (syntax error)
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 14:38:34 +02:00
theupriser d1dc96f29e fix: vmbootloadertest.sh waits up to 15 minutes for the first ssh (a first boot is slow with five VMs at once)
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 14:38:19 +02:00
theupriser d948227c19 docs: MAX_PARALLEL=5 ran fine on the 9800X3D (TODO R2 done, comments)
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 13:47:52 +02:00
theupriser 4824004215 docs: TODO: CI tests dropped (they run locally), the quick install test, new open items
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 13:46:43 +02:00
theupriser a1f8089c7c docs: the steamify-iso-release skill: dispatch-started build, steamify_ref, build badge and its secrets, replaced tags, parallel jobs on the runner
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 13:04:08 +02:00
theupriser d82d0f8b2f docs: the steamify-iso-release skill: daily names, kind input, replacement and retention, sync by workflow, always master
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 11:37:14 +02:00
theupriser 540139b967 feat: show progress while the tests run (install and steamify.sh heartbeats, unbuffered output)
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 10:51:24 +02:00
theupriser e929444399 fix: vminstall.sh is headless in CI (no display for QEMU's GTK window)
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 10:30:01 +02:00
theupriser 459832c3f5 feat: vmbootloadertest.sh --quick [--generic]: a Steam Machine gets all its items and modules, a plain PC none
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 10:12:35 +02:00
theupriser f6c87fddc7 fix: vmbootloadertest.sh --quick installs on a VM that reports Steam Machine hardware
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 10:11:00 +02:00
theupriser 913a8f0830 fix: vminstall.sh: show the QEMU, serial and install logs when the install fails
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 10:07:43 +02:00
theupriser 232c92fcd7 fix: vminstall.sh removes the read-only ISO files it extracted (failed as a non-root host)
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 09:50:28 +02:00
theupriser 092e888c3f fix: the VM's ssh key is looked up at every call (a clean host failed the first-boot check: common.sh was sourced before the key existed)
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 09:43:05 +02:00
theupriser fafa38fbb4 feat: vmbootloadertest.sh --quick: only what the ISO's install must get right (B1-B5)
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 09:38:30 +02:00
theupriser 6c0c80fb9a fix: a test that aborts fails (exit status of the piped block), vminstall reads the ISO with bsdtar (no loop partitions in CI containers)
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 09:02:16 +02:00
theupriser 80f4d68536 ci: sync the git.upriser.nl mirror on every branch and tag
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 08:54:35 +02:00
theupriser 594ce35cf8 feat: VM_INSTALL_MEM sets the RAM of the installer VM only
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 08:25:07 +02:00
theupriser 17ae88a4ad feat(ci): sync the git.upriser.nl mirror on every push to main and every tag
Sync git.upriser.nl mirror / sync (push) Skipped
GitHub workflow calls the mirror-sync API so the Gitea build starts at once instead of at the mirror's 10 minute interval (secrets GIT_UPRISER_URL, GIT_UPRISER_TOKEN; retried; skipped on Gitea itself). The steamify-iso-release skill uses the renamed secret and workflows.
2026-09-30 08:11:24 +02:00
theupriser a9f20d69bf docs: rename the local ISO checkout to steamify-cachyos-live-iso
- scripts and skills use ../steamify-cachyos-live-iso
- TODO item 4: the ISO comes from the git.upriser.nl release
2026-09-30 07:47:37 +02:00
theupriser 9a351ae639 docs: use the renamed steamify-cachyos-live-iso repo in vmtest-remote.sh and TODO
- vmtest-remote.sh: name the ISO repo checkout steamify-cachyos-live-iso
- TODO.md: gh run download points at theupriser/steamify-cachyos-live-iso
2026-09-30 07:45:35 +02:00
theupriser 0d0279bd20 docs: skills and AGENTS.md after 2026-09-29: the ISO release pipeline (new skill), boot entry check and install gotchas, monitor rules, freeing WSL disk, deleting merged branches 2026-09-29 23:05:29 +02:00
theupriser 195518f0da docs: wsl-build-host: a hand-built ISO is named local (releases come from a GitHub tag) 2026-09-29 22:19:51 +02:00
theupriser 0447f35e7d fix: boot check: the power-off fix is loaded, or was tried at boot and refused (journal); it grepped dmesg for systemd's error, which only sometimes lands there 2026-09-29 20:17:27 +02:00
theupriser d614539d9e docs: full run with Steamify release/2.9.1: 341 pass; the CEC driver cache done 2026-09-29 19:46:08 +02:00
theupriser 847b024803 fix: test prelude sets SCRIPT_DIR (the libs read patches/ from it); hw block 50 checks every run for errors 2026-09-29 19:24:25 +02:00
theupriser 8df2e23314 fix: hw block 50: the private cache folder is readable like /var/cache/steamify (mktemp's 700 hid it from the user) 2026-09-29 19:22:16 +02:00
theupriser e6119ca194 feat: hw block 50: the CEC driver cache (new pin downloads and removes the old file, cache hit, damaged file replaced), offline via file:// 2026-09-29 19:19:52 +02:00
theupriser 6aad17f55c feat: the VMs share the host's cache for Steamify's own downloads (/var/cache/steamify: the CEC driver once for every VM, GitHub rate-limits it) 2026-09-29 19:16:45 +02:00
theupriser e8c57827b1 docs: B1 boot entry check and the ISO's /var/log fix done; CEC driver download (GitHub 429) as the next item 2026-09-29 19:09:16 +02:00
theupriser 4209f9625b docs: TODO: WSL starting with Windows is not Steamify's work (removed R1d) 2026-09-29 18:58:10 +02:00
theupriser 07a7da1d67 docs: TODO: R1d (WSL with Windows) left for now 2026-09-29 18:57:57 +02:00
theupriser a34efb0547 fix: vminstall.sh stops waiting as soon as the live system reports a failed install (it waited 90 minutes) 2026-09-29 18:48:27 +02:00
theupriser 20373c9f05 fix: vmprogress.sh reports a failed install (it stayed at 'install' for 18 minutes) 2026-09-29 18:48:14 +02:00
theupriser 27b7445f63 feat: B1 check: booted through the loader's own EFI boot entry (BootCurrent, a real partition), after every reboot in the boot loader test 2026-09-29 18:13:16 +02:00
theupriser a82053d6bc docs: the first full run on the PC (328 pass, 18 min): TESTPLAN, TODO, AGENTS, wsl-build-host; vmsuite.sh writes its summary into its log 2026-09-29 18:05:10 +02:00
theupriser 37d65fc79d fix: vmprogress.sh: only a new step, a finished job or a FAIL is a change (not every PASS) 2026-09-29 17:50:41 +02:00
theupriser 5b867f8bd2 docs: progress-report: a stopped local command leaves its remote loop running (known_hosts during an install) 2026-09-29 17:31:35 +02:00
theupriser e583494aa6 fix: vmprogress.sh: a new install percentage alone is no change (one line per stage) 2026-09-29 17:23:42 +02:00
theupriser fd9ecf4b9f feat: progress-report skill and scripts/vmprogress.sh (a status line per change); referenced from the other skills and AGENTS.md 2026-09-29 17:07:52 +02:00
theupriser 4cc4046716 feat: vmview.py: a window with a headless VM's screen (QMP screendump every 2 s, view only) 2026-09-29 17:05:17 +02:00
theupriser 9d537406bb fix: vminstall.sh sets up the ISO's loop device under a lock (parallel installs collided) 2026-09-29 16:28:19 +02:00
theupriser 7dd659dc09 fix: vminstall.sh in parallel: a poweroff that drops ssh is no failure, wait only for its own VM 2026-09-29 16:17:53 +02:00
theupriser d5cfadf3bb fix: vminstall.sh never makes root the guest user (WSL runs as root): theupriser then 2026-09-29 15:49:29 +02:00
theupriser cb247b9cc3 docs: wsl-build-host skill, vminstall.sh without udisks (WSL), AGENTS.md/TODO WSL notes corrected
The WSL box has a desktop after all (WSLg windows on Windows), closing the
Arch window shuts it down, and vminstall.sh loop-mounts the ISO with losetup
as root when udisksctl is missing (R1c).
2026-09-29 15:40:03 +02:00
theupriser 6a53c957ba docs: AGENTS.md: state, where the tests run (PC, WSL2) and the ISO problems found 2026-09-29 15:31:57 +02:00
theupriser 63fd11829d docs: the agent hand-off file is AGENTS.md (was CLAUDE.md) 2026-09-29 15:29:49 +02:00
theupriser f03ad74295 docs: CLAUDE.md: this repo takes pushes straight to main 2026-09-29 15:29:08 +02:00
theupriser 0c84b8b926 feat: faster and parallel tests, a remote runner, and a CLAUDE.md hand-off
vmsuite.sh: the ssh-ready snapshot becomes one base image, every block gets a new qcow2 overlay
(no snapshot restore), each suite has its own VM directory and ssh port (2301-2305, boot loaders
2401-2403), the host's package cache is bound over pacman's, VM_MEM defaults to 4G for tests
(run.sh VM_MEM, default 8G). vmtest.sh runs up to MAX_PARALLEL=3 jobs at once, slowest first.
scripts/vmtest-remote.sh runs vmtest.sh on another machine (the PC) over ssh and prints the
summary. CLAUDE.md and the branch cleanup skill now live in the repo.

Not proven as a whole: three VMs at once and the base image work, but a complete parallel run to
the end has not finished yet (P1/P2 in TODO.md); the remote runner and WSL2 are untried (R1-R2).
2026-09-29 15:26:57 +02:00
theupriser ee20bd9825 feat: vmtest.sh runs everything: boot loaders plus the cli, menu, hw, installer and toggles suites
vmtest.sh [--install] [--window] [--screen] [boot|loader|suite...], a detached screen
session with --screen, the summary in ~/vms/last-test.txt, the rows that need a person
listed as SKIP. New: the installer suite (R2.1), the toggles suite (R1.8) and H3 (BIOS
dry-run, per-block '# env:' for the VM start). vmsuite.sh and vmbootloadertest.sh are
executable again.
2026-09-29 14:41:37 +02:00
theupriser 6d264acaf2 feat: the hw suite (H1, H4, H5, R1.7 CEC) and host-side suite blocks
vmsuite.sh runs NN-name.host.sh blocks on the host (reboot, scripts/vmcec.sh) with
prelude-host.sh; every block that applies Steamify says so first (INFO) so the shared
console is not silent for minutes. 68 checks pass.
2026-09-29 14:12:39 +02:00
theupriser b91ef9172e feat: the menu suite (R1.1-R1.6, R1.10) and one shared log Konsole for every test run
Scripted menu input and Steamify's own status functions, journals free of duplicates,
--backend status as JSON, an older item shown as (update). The test scripts append to
$TEST_LOG and share one Konsole (common.sh view_start) instead of opening one each;
vmsuite.sh streams its output (sed -u). 36 checks pass.
2026-09-29 13:53:35 +02:00
theupriser fe5251f758 feat: vmsuite.sh and the cli suite: G1-G3, F1-F7 of TESTPLAN.md as unattended checks
Each block in share/vmtest/<suite>/ starts from a fresh ssh-ready snapshot, gets a
Plasma session environment over ssh (the theme item needs one) and prints PASS/FAIL
lines. ONLY=<prefix> runs one block. 55 checks pass on the plain CachyOS VM.
2026-09-29 11:45:02 +02:00
theupriser 508eb68ed5 docs: vm-install skill, TESTPLAN section B and TODO for the boot loader test and the full automated suite 2026-09-29 11:23:50 +02:00
theupriser c91277abf0 feat: vmtest.sh: the boot loader test for every loader the ISO advertises
One VM per loader, Steam Machine (--fremont): Steamify's state as its menu sees it,
OS name untouched, loader identity, the DKMS modules for every kernel, Steamify's
loader-specific code (hdmi_remove_boot_param), a kernel update, and a reboot into
each of the two kernels. Headless by default with a log Konsole (--window shows
the VMs). Fails when an advertised loader has no test. Limine 41, systemd-boot 40,
GRUB 40 checks pass.
2026-09-29 11:23:50 +02:00
theupriser 8646b3c30a feat: vminstall.sh installs any boot loader and the Steamify ISO's Steamify step, with a package cache
VM_BOOTLOADER=limine|systemd-boot|grub, VM_STEAMIFY (steamify-install runs after
the headless installer, like Calamares does), VM_CACHE (host pacman cache shared
as 9p, default ~/vms/pkg-cache). run.sh --headless / VM_HEADLESS=1: no window.

Fixes found on the way: the live script deadlocked on is-system-running (it is
the running kernel-command-line.service) and now waits for pacman-init; the post
script kept forcing the Plasma login over Steamify's gaming-mode SDDM, gave
systemd-boot no timeout/default (it waited in the menu for ever), and left ufw
blocking the host's ssh; the first-boot check wanted plasmashell in gaming mode.
2026-09-29 11:23:50 +02:00
theupriser fa776b1761 docs: steam-machine-iso: vmreset.sh also stops the ISO VM 2026-09-28 18:27:52 +02:00
theupriser 0ae7cce488 fix: vmreset.sh works when the VM lives in the repo itself (cp of run.sh onto itself failed) 2026-09-28 18:27:27 +02:00
theupriser 7db82b6494 docs: steam-machine-iso: read an installed VM's disk while it runs; serial output 2026-09-28 18:12:18 +02:00
theupriser 52d5021d88 docs: steam-machine-iso: one log Konsole for every build 2026-09-28 17:45:00 +02:00
theupriser f19bcb9764 docs: steam-machine-iso: a package cache for the podman ISO build 2026-09-28 17:42:37 +02:00
theupriser 5954548247 fix: qmptype.py types > < ? { } 2026-09-28 17:37:51 +02:00
theupriser bc06bc2534 feat: vmisobuild.sh and the steam-machine-iso skill run build-calamares-modules.sh 2026-09-28 16:41:22 +02:00
theupriser 0052f1ba22 docs: note token-cheap ISO-VM testing (serial log, no screenshot polling) 2026-09-28 15:35:25 +02:00
theupriser 61442d7ef8 docs: packagechooser multi-select needs Shift/Ctrl-click 2026-09-28 13:45:09 +02:00
theupriser 6d73d49477 docs: steam-machine-iso: run Calamares in its own Konsole tab; watch for the live keyboard layout switching away from US 2026-09-28 13:42:23 +02:00
theupriser fe249e5108 docs: correction - packagechooser mode:optionalmultiple DOES multi-select (verified from global storage, not misleading label text) 2026-09-28 13:30:09 +02:00
theupriser 4398a2b85f docs: packagechooserq isn't installed on this Calamares build; packagechooser's mode:optionalmultiple is single-select regardless; QMP/Calamares live-testing gotchas 2026-09-28 13:24:36 +02:00
theupriser 081080b5f5 docs: ISO builds use 75% of host cores, not all-but-2 2026-09-28 13:04:04 +02:00
theupriser b6b35d41f1 docs: TESTPLAN: 2.8.0 --defaults --list tested 2026-09-28 12:44:50 +02:00
theupriser 3ccbb62bd2 feat: vmisobuild.sh (ISO build in the VM, package cache per VM), vmisoboot.sh (ISO VM for Calamares), qmpshot.py/qmpclick.py; run.sh VM_CACHE/VM_CPUS/VM_NOGL/VM_PORT 2026-09-28 11:40:21 +02:00
theupriser fec0ce5b8e docs: TESTPLAN: 2.7.0's Steam Machine checks carried over from 2.6.0 (code unchanged) 2026-09-28 10:56:17 +02:00
theupriser d0038916e9 docs: 2.7.0 regression results on the new VM; the first login's app is the newest release 2026-09-28 10:53:44 +02:00
theupriser 4905bba1f6 docs: vminstallsim.sh example uses --options 2026-09-28 10:08:27 +02:00
theupriser 60a2698d02 feat: scripts/vminstall.sh installs an ssh-ready test VM unattended; TESTPLAN.md; vm-install skill 2026-09-28 10:07:13 +02:00
theupriser 21547dd7bc docs: steam-machine-iso: one build at a time; vminstallsim.sh passes --defaults options 2026-09-27 22:00:32 +02:00
theupriser 96cae35c6b docs: steam-machine-iso: build-live-modules.sh in the build, the ISO's new name 2026-09-27 21:26:45 +02:00
theupriser e1dd75875b docs: steam-machine-iso: the Steamify step is added by calamares-online.sh 2026-09-27 20:06:26 +02:00
theupriser f8aac02d0a docs: steam-machine-iso: live-session quirks; scripts/qmptype.py types into the VM 2026-09-27 20:01:41 +02:00
theupriser 8d5cdaea99 docs: steam-machine-iso: the harmless chown error, the ISO test VM 2026-09-27 19:54:30 +02:00
theupriser f8e2473afa feat: steam-machine-iso skill (ISO build in podman on the Steam Machine, installer simulation, first-login test) and scripts/vminstallsim.sh 2026-09-27 19:53:23 +02:00
theupriser 088ee83350 VM on the Steam Machine: Arch OVMF paths, visible tests, and the steam-machine-testing skill 2026-09-27 17:00:10 +02:00
theupriser d626aafd84 docs: VM skill up to date with the menu (sub-options, HDMI-CEC, kernel pin) and today's pitfalls 2026-09-25 13:07:02 +02:00
theupriser 6da46fc10f docs: The test VM needs an x86_64 Linux host 2026-09-25 13:05:15 +02:00
theupriser 0464ede893 chore: Remove the Windows scripts; the test VM runs on Linux 2026-09-25 13:04:20 +02:00
theupriser 4aeb3de43f docs: run.sh --amd (venus on the AMD iGPU); gaming mode can't render in the VM, all tried 2026-09-25 12:54:27 +02:00