theupriser
9dbf05ab9c
docs: steamify-branch-cleanup: a released release/X.Y.Z branch is deleted once a tag or main contains it
2026-10-02 14:41:40 +02:00
theupriser
86a44d7e68
docs: CHANGELOG 0.5.0: the full test run, the ISO pipeline, tests moved here, the 2.11.0 test results
2026-10-02 14:06:35 +02:00
theupriser
d540dd2310
test: vmstate reports Steam's autostart entry (silent/plain/none) instead of the old unit
2026-10-02 09:28:05 +02:00
theupriser
f7625f5882
test: the Steamify unit tests and the NVIDIA hardware test move here from steamify-cachyos (REPO points at the checkout)
2026-10-02 07:53:25 +02:00
theupriser
b4d6c23129
notes: Steamify 2.10.0
2026-10-01 21:05:27 +02:00
theupriser
7a313a96ee
tests: nvidia suite (fake NVIDIA PC), controller block, name-based menu rows; get-iso.sh uses CachyOS's own mirror and resumes; notes
2026-10-01 21:03:20 +02:00
theupriser
9e8e05e99b
nvidia: Plasma session with Big Picture autostart works
2026-10-01 18:33:24 +02:00
theupriser
b95ccb686d
nvidia: TTY-only KWin stutters, Big Picture in Plasma is perfect
2026-10-01 18:26:25 +02:00
theupriser
dabc43ded6
nvidia: direct scanout confirmed as the cause, a Plasma-less KWin session works
2026-10-01 18:11:32 +02:00
theupriser
a253ff15cd
nvidia: results of the hardware test on the RTX 5080 PC
2026-10-01 18:02:17 +02:00
theupriser
c8a6a2cef5
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
2026-10-01 15:38:51 +02:00
theupriser
1aff67612d
docs: the ISO repo's PRs and vmisobuild.sh target master (feat/steamify is gone)
2026-10-01 15:36:34 +02:00
theupriser
b2fc992745
feat: vmtest.sh runs the plain-PC install check (generic) for every loader; vmprogress.sh knows the new jobs
2026-09-30 14:47:40 +02:00
theupriser
90fe42da5f
docs: TESTPLAN results: the official 2.9.6 ISO, 341 pass, 0 fail
2026-09-30 14:45:20 +02:00
theupriser
5146dd1109
fix: the waitssh comment broke the one-line function (syntax error)
2026-09-30 14:38:34 +02:00
theupriser
b840eb3697
fix: vmbootloadertest.sh waits up to 15 minutes for the first ssh (a first boot is slow with five VMs at once)
2026-09-30 14:38:19 +02:00
theupriser
5ea436efc5
docs: MAX_PARALLEL=5 ran fine on the 9800X3D (TODO R2 done, comments)
2026-09-30 13:47:52 +02:00
theupriser
f33d3bf491
docs: TODO: CI tests dropped (they run locally), the quick install test, new open items
2026-09-30 13:46:43 +02:00
theupriser
32db035e9b
docs: the steamify-iso-release skill: dispatch-started build, steamify_ref, build badge and its secrets, replaced tags, parallel jobs on the runner
2026-09-30 13:04:08 +02:00
theupriser
cfba222439
docs: the steamify-iso-release skill: daily names, kind input, replacement and retention, sync by workflow, always master
2026-09-30 11:37:14 +02:00
theupriser
76b162d7e1
feat: show progress while the tests run (install and steamify.sh heartbeats, unbuffered output)
2026-09-30 10:51:24 +02:00
theupriser
da263529e9
fix: vminstall.sh is headless in CI (no display for QEMU's GTK window)
2026-09-30 10:30:01 +02:00
theupriser
f604e10b3e
feat: vmbootloadertest.sh --quick [--generic]: a Steam Machine gets all its items and modules, a plain PC none
2026-09-30 10:12:35 +02:00
theupriser
19ea677cf7
fix: vmbootloadertest.sh --quick installs on a VM that reports Steam Machine hardware
2026-09-30 10:11:00 +02:00
theupriser
ca0cf43919
fix: vminstall.sh: show the QEMU, serial and install logs when the install fails
2026-09-30 10:07:43 +02:00
theupriser
7b7715ab07
fix: vminstall.sh removes the read-only ISO files it extracted (failed as a non-root host)
2026-09-30 09:50:28 +02:00
theupriser
8ef247e596
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)
2026-09-30 09:43:05 +02:00
theupriser
1db4693e3c
feat: vmbootloadertest.sh --quick: only what the ISO's install must get right (B1-B5)
2026-09-30 09:38:30 +02:00
theupriser
6190abadfc
fix: a test that aborts fails (exit status of the piped block), vminstall reads the ISO with bsdtar (no loop partitions in CI containers)
2026-09-30 09:02:16 +02:00
theupriser
4cb253b41c
ci: sync the git.upriser.nl mirror on every branch and tag
2026-09-30 08:54:35 +02:00
theupriser
7b0147f065
feat: VM_INSTALL_MEM sets the RAM of the installer VM only
2026-09-30 08:25:07 +02:00
theupriser
f35df9c4d3
feat(ci): sync the git.upriser.nl mirror on every push to main and every tag
...
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
85657a3183
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
92bf3f0b19
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
b07ff5f99b
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
2daf83b013
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
d8c7670c53
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
58b233c20b
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
b6e801664a
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
fa01c19ba1
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
f356cc3f74
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
0824e78249
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
48edfc53c5
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
36bd85cce6
docs: TODO: WSL starting with Windows is not Steamify's work (removed R1d)
2026-09-29 18:58:10 +02:00
theupriser
4670b296dc
docs: TODO: R1d (WSL with Windows) left for now
2026-09-29 18:57:57 +02:00
theupriser
b6082c0322
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
ebf9e3c267
fix: vmprogress.sh reports a failed install (it stayed at 'install' for 18 minutes)
2026-09-29 18:48:14 +02:00
theupriser
ade5566174
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
6729d61ea8
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
5f97f1334c
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
c6578103a3
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
97f68a8065
fix: vmprogress.sh: a new install percentage alone is no change (one line per stage)
2026-09-29 17:23:42 +02:00
theupriser
3a0d9f98d8
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
fd1b916023
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
b6a7b30092
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
314bac87e7
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
dea5f9d715
fix: vminstall.sh never makes root the guest user (WSL runs as root): theupriser then
2026-09-29 15:49:29 +02:00
theupriser
a576b734c7
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
105ac638ee
docs: AGENTS.md: state, where the tests run (PC, WSL2) and the ISO problems found
2026-09-29 15:31:57 +02:00
theupriser
d231aec125
docs: the agent hand-off file is AGENTS.md (was CLAUDE.md)
2026-09-29 15:29:49 +02:00
theupriser
5b3e246629
docs: CLAUDE.md: this repo takes pushes straight to main
2026-09-29 15:29:08 +02:00
theupriser
f24ff3927e
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
b895e28181
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
0a12c0e4c6
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
fcffceb941
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
ea1207580f
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
38a50ab57d
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
ed12ecb57d
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
8ea75424b0
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
e435577b5c
docs: steam-machine-iso: vmreset.sh also stops the ISO VM
2026-09-28 18:27:52 +02:00
theupriser
104d1dac44
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
8b0c168711
docs: steam-machine-iso: read an installed VM's disk while it runs; serial output
2026-09-28 18:12:18 +02:00
theupriser
d0c551d23a
docs: steam-machine-iso: one log Konsole for every build
2026-09-28 17:45:00 +02:00
theupriser
728f329ebc
docs: steam-machine-iso: a package cache for the podman ISO build
2026-09-28 17:42:37 +02:00
theupriser
332fdca4c2
fix: qmptype.py types > < ? { }
2026-09-28 17:37:51 +02:00
theupriser
92c1e58f55
feat: vmisobuild.sh and the steam-machine-iso skill run build-calamares-modules.sh
2026-09-28 16:41:22 +02:00
theupriser
36d1e6d326
docs: note token-cheap ISO-VM testing (serial log, no screenshot polling)
2026-09-28 15:35:25 +02:00
theupriser
c5ac00faf6
docs: packagechooser multi-select needs Shift/Ctrl-click
2026-09-28 13:45:09 +02:00
theupriser
107f8f4076
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
1c1bc55a62
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
6df107d578
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
6840044038
docs: ISO builds use 75% of host cores, not all-but-2
2026-09-28 13:04:04 +02:00
theupriser
32499b1c01
docs: TESTPLAN: 2.8.0 --defaults --list tested
2026-09-28 12:44:50 +02:00
theupriser
b1e9a273a3
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
9706066269
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
7a0a216327
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
4adc018654
docs: vminstallsim.sh example uses --options
2026-09-28 10:08:27 +02:00
theupriser
ac8f77cf4a
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
0f57d86bae
docs: steam-machine-iso: one build at a time; vminstallsim.sh passes --defaults options
2026-09-27 22:00:32 +02:00
theupriser
46e039809e
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
379f1c7f7f
docs: steam-machine-iso: the Steamify step is added by calamares-online.sh
2026-09-27 20:06:26 +02:00
theupriser
471332e20f
docs: steam-machine-iso: live-session quirks; scripts/qmptype.py types into the VM
2026-09-27 20:01:41 +02:00
theupriser
8ce2917c0f
docs: steam-machine-iso: the harmless chown error, the ISO test VM
2026-09-27 19:54:30 +02:00
theupriser
9a4653b6d3
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
3b7b685667
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
7a0443e131
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
8d5a659c89
docs: The test VM needs an x86_64 Linux host
2026-09-25 13:05:15 +02:00
theupriser
6d992c83c7
chore: Remove the Windows scripts; the test VM runs on Linux
2026-09-25 13:04:20 +02:00
theupriser
974cea7cf4
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
theupriser
19b6ba4d97
feat: vmcec.sh tests HDMI-CEC against a fake TV; vmwake.sh wakes the VM over QMP
...
run.sh opens a QMP socket; the skill documents the CEC test and its gotchas.
2026-09-25 11:14:00 +02:00