theupriser
29ec7d2cde
ci: boot loader test VMs keep their own RAM defaults (8 GB to install, 4 GB to test)
2026-09-30 08:24:27 +02:00
theupriser
8a98315bd5
ci: boot loader test VMs with 3 vCPUs each (the runner has 8 threads)
2026-09-30 08:24:06 +02:00
theupriser
edb58b5ba9
ci: boot loader tests two at a time (8 GB VMs, ~20 GB of RAM)
2026-09-30 08:21:08 +02:00
theupriser
e165202075
feat(ci): Gitea flow is build -> test (boot loader test per loader, parallel) -> release; drop upstream build.yml
...
iso-2-gitea-build.yml now has three jobs. The ISO goes between them as an artifact; the test job runs steamify-cachyos-dev's vmbootloadertest.sh --install for limine, systemd-boot and grub (needs /dev/kvm on the runner, fails at once with a reason without it); the release is only made when every test passed.
2026-09-30 08:20:51 +02:00
theupriser
44354f99fa
refactor(ci): name the ISO workflows after their order and host, secrets for the mirror's URL and token
...
- iso-release.yml -> iso-1-github-tag.yml (ISO 1/2: tag and release, GitHub)
- steamify-iso.yml -> iso-2-gitea-build.yml (ISO 2/2: build and publish, Gitea)
- the mirror sync takes its URL and token from GIT_UPRISER_URL / GIT_UPRISER_TOKEN and retries
- docs and comments follow the new names
2026-09-30 08:11:31 +02:00
theupriser
f408f70e76
docs: use the renamed steamify-cachyos-live-iso repo name
...
- README clone instructions and the packagechooserq patch comment
2026-09-30 07:47:47 +02:00
theupriser
c421549151
Merge pull request #12 from theupriser/bugfix/agents-release-pipeline
...
docs: AGENTS: the release pipeline
2026-09-29 23:05:57 +02:00
theupriser
7b7f3e6485
docs: AGENTS: the release pipeline (GitHub tag, ISO built and attached on the Gitea mirror)
2026-09-29 23:05:50 +02:00
theupriser
fbbc22472e
Merge pull request #11 from theupriser/bugfix/iso-sudo-env
...
fix: sudo mkarchiso keeps the release tag's variables
2026-09-29 22:39:46 +02:00
theupriser
85d49cf5c5
fix: sudo mkarchiso keeps STEAMIFY_ISO_VERSION and STEAMIFY_BUILD_STAMP (sudo dropped them: the ISO was named local, labelled LOCAL)
2026-09-29 22:39:39 +02:00
theupriser
68764f39d2
Merge pull request #10 from theupriser/bugfix/iso-no-own-clock
...
fix: the ISO build reads no clock of its own
2026-09-29 22:19:35 +02:00
theupriser
3ab89a638d
fix: the ISO build reads no clock of its own: file name, label and boot menu come from the release tag only (GitHub's time); without a tag: local
2026-09-29 22:19:28 +02:00
theupriser
81961beaed
Merge pull request #9 from theupriser/bugfix/iso-time-utc
...
fix(ci): the ISO release's time in UTC
2026-09-29 22:18:38 +02:00
theupriser
0a413a3d95
fix(ci): the ISO release's time in UTC again (GitHub's clock when the release starts; the name says UTC)
2026-09-29 22:18:31 +02:00
theupriser
e78bbb2660
Merge pull request #8 from theupriser/bugfix/iso-step-name
...
feat(ci): ISO releases: not on every push, Dutch time, annotated tags
2026-09-29 22:14:37 +02:00
theupriser
d3956eef17
feat: the ISO's boot menu and /etc/steammachine-iso-build name its release tag too (were the build date): the tag decides everything
2026-09-29 22:12:12 +02:00
theupriser
f19dd0867a
feat: the ISO's file is named after its release tag (steamify-cachyos-2.9.3-dev.2026.09.29-2230-x86_64.iso), so the GitHub release links straight to the ISO and its SHA-256 on the mirror
2026-09-29 22:11:32 +02:00
theupriser
fc4c3ec95d
feat(ci): ISO releases by a Steamify release or by hand (not every push), Dutch time in the name, tag and label, annotated tags (their own date: the mirror sorts releases on the same commit in order)
2026-09-29 22:09:33 +02:00
theupriser
1ca1a71ed2
fix(ci): the Steamify step's name (the version isn't known yet when Gitea evaluates it)
2026-09-29 21:57:34 +02:00
theupriser
5837d7343a
Merge pull request #7 from theupriser/feature/iso-release-from-github-tag
...
Steamify ISO release (tag) / tag (push) Skipped
feat(ci): ISO releases start on GitHub, the Gitea mirror attaches the ISO
2026-09-29 21:39:08 +02:00
theupriser
ff0ec9f11e
feat(ci): ISO releases start on GitHub (tag + notes, iso-release.yml); the Gitea mirror builds on that tag and attaches the ISO (a release on the mirror survives its syncs only with a tag from GitHub); steamify-prepare.sh takes an exact STEAMIFY_VERSION
2026-09-29 21:39:00 +02:00
theupriser
da1524961b
Merge pull request #6 from theupriser/feature/iso-label
...
Steamify ISO (Gitea release) / iso (push) Successful in 17m41s
feat: the ISO's label follows the Steamify version and the build time
2026-09-29 20:53:29 +02:00
theupriser
a11266e2b7
feat: the ISO's label follows the Steamify version on it and the build time (STEAMIFY_2_9_1_20260929_1432, was COS_<year><month>); the release workflow names the same moment
2026-09-29 20:53:22 +02:00
theupriser
1a55d5bb02
Merge pull request #5 from theupriser/feature/iso-version-follows-steamify
...
feat(ci): the ISO's version follows Steamify, and master releases
2026-09-29 20:51:44 +02:00
theupriser
5a62fc818c
feat(ci): the ISO's release name gets the build time too (v<steamify>-<date>-<HHMM>, UTC): every build its own release
2026-09-29 20:51:37 +02:00
theupriser
a0ffe148f5
feat(ci): the ISO's version follows Steamify: master releases v<steamify>-<date>, feat/steamify a test build v<steamify>-dev.<date>; CachyOS's own ISO workflow only runs in CachyOS's repo
2026-09-29 20:51:13 +02:00
theupriser
d5c7085b82
Merge pull request #4 from theupriser/feature/gitea-iso-release
...
feat(ci): build and release the Steamify ISO on the Gitea mirror
2026-09-29 20:44:47 +02:00
theupriser
ac79172c51
feat(ci): the Steamify ISO is built and released on the Gitea mirror (v<date>, notes from CHANGELOG.md; GitHub skips it)
2026-09-29 20:44:32 +02:00
theupriser
f71ef695db
Merge pull request #3 from theupriser/fix/steamify-install-var-log
...
fix: Steamify's install-time logs are readable after the first boot
2026-09-29 19:08:54 +02:00
theupriser
631a4e4dd8
fix: steamify-install leaves /var/log mounted (the caller reads its log afterwards; unmounting it hid the log again)
2026-09-29 18:47:59 +02:00
theupriser
faa57cdb7f
fix: steamify-install mounts the new system's /var/log (@log) first, so its logs aren't hidden under the mount after boot
2026-09-29 18:13:00 +02:00
theupriser
ca74e10eee
Merge pull request #2 from theupriser/fix/systemd-boot-efi-entry
...
fix: systemd-boot gets a working EFI boot entry
2026-09-29 17:45:38 +02:00
theupriser
df50367973
fix: the systemd-boot entry is made with efibootmgr from the live system (bootctl in the chroot wrote HD(0,GPT,0000...), which the firmware can't load)
2026-09-29 17:10:15 +02:00
theupriser
d325209317
docs: CHANGELOG: CachyOS's 26.08 notes as they were, the Steamify Live ISO 1.0.0 notes as a subsection under it
2026-09-29 16:58:00 +02:00
theupriser
9a58cf7c00
docs: CHANGELOG: Steamify's changes go in the CachyOS version they are built on (26.08), not a version of their own
2026-09-29 16:56:30 +02:00
theupriser
1d25d1c7f6
docs: CHANGELOG: the name is CachyOS with Steamify Live ISO
2026-09-29 16:54:39 +02:00
theupriser
40a6b89610
docs: CHANGELOG: Steamify ISO 1.0.0 (unreleased), with the systemd-boot boot entry fix
2026-09-29 16:54:20 +02:00
theupriser
5a8bec572e
fix: systemd-boot gets its EFI boot entry (bootctl skips the EFI variables in the installer's chroot)
2026-09-29 16:52:29 +02:00
theupriser
e6148f9b5d
Merge pull request #1 from theupriser/feature/limit-desktop-bootloader
...
feat: The installer only offers KDE Plasma and the supported boot loaders
2026-09-29 08:14:05 +02:00
theupriser
3cf29a814e
feat: The installer only offers KDE Plasma, and the boot loaders Steamify supports (Limine, systemd-boot, GRUB; not rEFInd)
2026-09-29 07:57:50 +02:00
theupriser
d52cd58420
docs: README: other desktops are not supported (was "don't work yet")
2026-09-28 19:47:37 +02:00
theupriser
112b9bf5d6
docs: README: choose KDE Plasma, other desktops don't work with Steamify yet
2026-09-28 19:46:45 +02:00
theupriser
02e75027e1
docs: README: how to build the Steamify ISO yourself (podman)
2026-09-28 19:33:54 +02:00
theupriser
e3000ce8c7
fix: Only the installer says Steamify (CachyOS with Steamify Installer); the live session keeps CachyOS's own name
2026-09-28 19:14:17 +02:00
theupriser
ce1cf71498
fix: The live session's About this System keeps CachyOS's own name (no renaming)
2026-09-28 19:12:35 +02:00
theupriser
8e7ec49a15
feat: The live session's About this System says CachyOS Linux with Steamify
2026-09-28 18:21:29 +02:00
theupriser
06d2fb564c
feat: The installer is called CachyOS - Steamify Installer (branding productName, set after the launcher's reinstall); TODO: Hello's title, radio buttons stay
2026-09-28 18:18:09 +02:00
theupriser
f33c47ec49
docs: TODO: the boot choice switch is still open (misread)
2026-09-28 18:13:38 +02:00
theupriser
95e05a577c
docs: TODO: the boot choice switch is done
2026-09-28 18:13:25 +02:00
theupriser
f46596d8e0
docs: TODO: full ISO install with the Steamify page passed
2026-09-28 18:12:16 +02:00
theupriser
6917f3d8e4
docs: TODO: the Steamify Summary works
2026-09-28 17:56:09 +02:00
theupriser
37aff659bd
docs: AGENTS: qmptype.py types > and friends now
2026-09-28 17:38:10 +02:00
theupriser
0cc736776a
fix: The launcher downloads Steamify and writes the page's rows (Items.qml, items.json) where the page reads them ($sdir was empty in its own local); --list errors go to its log
2026-09-28 17:37:48 +02:00
theupriser
a817b8a558
feat: The Steamify page's Summary is an unordered list: every chosen item's name and where it starts (gaming mode or desktop)
2026-09-28 16:57:45 +02:00
theupriser
8246209a7e
feat: The Steamify page's Summary line shows the chosen items' labels and where it starts, not raw ids (patch on packagechooserq, applied by build-calamares-modules.sh)
2026-09-28 16:56:45 +02:00
theupriser
62402ce4c8
feat: packagechooserq is built with the ISO (build-calamares-modules.sh) instead of a committed .so; the Steamify page is left out when Calamares' version differs from the one it was built for
2026-09-28 16:41:06 +02:00
theupriser
ad246253c7
docs: move operational lessons from TODO.md into a new AGENTS.md
...
TODO.md should stay a plain task list; the Calamares module/build
gotchas, QMP-driving quirks, ISO permission pitfall and build-VM SSH
flakiness notes now live in AGENTS.md instead.
2026-09-28 15:42:57 +02:00
theupriser
5133323237
docs: TODO - note 2.7.0/2.8.0 are released, ISO builder already tracks latest
2026-09-28 15:40:45 +02:00
theupriser
17ecdc1a26
docs: update TODO with today's packagechooserq work and lessons learned
2026-09-28 15:39:18 +02:00
theupriser
219aef176a
fix: make steamify.sh executable on the ISO
...
steamify-prepare.sh fetches it with curl -o, which doesn't carry the
executable bit, and profiledef.sh's file_permissions never listed this
path. calamares-online.sh execs it directly ("$sbin" --defaults --list)
to regenerate Items.qml/items.json at boot; without +x that failed
silently (stderr redirected), so items.json was never written and the
Summary step's prettyStatus() override always fell back to the raw,
comma-joined id list.
2026-09-28 15:28:56 +02:00
theupriser
eb58ef24b4
feat: bake packagechooserq module into the ISO, fix Steamify page styling
...
packagechooserq is excluded from cachyos-calamares-next's own build, so its
.so + module.desc are added straight into airootfs (matching the module
built against the current cachyos-calamares-next). Also:
- SteamifyPage.qml: border-only row highlight (was a translucent teal fill
that made white text unreadable), themed page background (was falling
through to Calamares' default white), a sub-option "└" marker, more right
padding so the row border clears the scrollbar.
- calamares-online.sh: also write items.json next to Items.qml, so
packagechooserq's prettyStatus() can show the Summary step's choice as
labels instead of raw, comma-joined ids.
2026-09-28 14:56:15 +02:00
theupriser
71c2ef0459
docs: TODO: packagechooser multi-select needs Shift/Ctrl-click, not usable
2026-09-28 13:45:19 +02:00
theupriser
d84daa45dc
docs: TODO: netinstall is the target module (real checkboxes); packagechooser works but looks wrong; keyboard-layout and Calamares-in-separate-tab gotchas
2026-09-28 13:41:38 +02:00
theupriser
6b69c1f619
docs: TODO correction - packagechooser mode:optionalmultiple works for the Steamify page, confirmed from global storage; no netinstall detour needed
2026-09-28 13:30:22 +02:00
theupriser
161c037600
docs: TODO: packagechooserq module isn't installed here; packagechooser is single-select regardless of mode; netinstall is the confirmed multi-checkbox module
2026-09-28 13:24:52 +02:00
theupriser
28fe327abe
fix: buildiso.sh's EXIT trap no longer reports a fake error after a successful build
2026-09-28 13:06:49 +02:00
theupriser
f58fa9bb1b
feat: the Steamify page fetches the newest steamify.sh + rows before Calamares starts; fix layout warning and Theme.qml copy
2026-09-28 12:50:58 +02:00
theupriser
754a6a14da
feat: Steamify installer page in progress (CachyOS look, rows from steamify.sh --defaults --list, after the packages page); TODO
2026-09-28 11:41:00 +02:00
theupriser
78e7c869b9
fix: the build finishes cleanly as root (chown with an empty $USER aborted it) and with the steamify-cachyos ISO name (no rename of a missing cachyos ISO)
2026-09-28 11:17:15 +02:00
theupriser
9c779c1d73
docs: TODO: the Steamify commit's hash after the author fix
2026-09-28 10:32:23 +02:00
theupriser
8569209af3
docs: TODO: the Steamify page passes the ticked ids (--options); build and install the ISO in the test VM
2026-09-28 10:08:49 +02:00
theupriser
63b1a769d5
fix: steamify-install passes --options (Steamify 2.7.0 dropped --skip); TODO: the Steamify page passes the ticked ids, build in the test VM
2026-09-28 10:08:19 +02:00
theupriser
9deb00708c
docs: TODO: toggle switches like the Steamify app preferred
2026-09-27 22:21:28 +02:00
theupriser
71ce968129
docs: TODO: toggle switches like the Steamify app are fine too
2026-09-27 22:21:13 +02:00
theupriser
20230a4e5e
docs: TODO: Steamify page with checkboxes, all ticked (the packagechooser page selects only one); PR status
2026-09-27 22:15:12 +02:00
theupriser
81f2eea63d
feat: Steamify's choices in the installer: a Steam Machine page (what to leave out) and a Start in page (gaming mode or desktop), passed to steamify.sh --defaults
2026-09-27 21:59:38 +02:00
theupriser
c6212a774b
fix: The live session's name is set after the packages (a package overwrote airootfs' os-release)
2026-09-27 21:50:24 +02:00
theupriser
abb534613e
fix: Live power-off module: a fresh build folder per kernel, no clean in the same make (kbuild re-ran itself endlessly)
2026-09-27 21:31:57 +02:00
theupriser
309b22f634
feat: Live session: power-off fix built for the ISO's kernels, Vapor look and layout at the live login
2026-09-27 21:26:19 +02:00
theupriser
f514c24b82
docs: TODO: 2.6.0 regression test on an existing install passed
2026-09-27 21:18:42 +02:00
theupriser
c5c435c574
fix: The live session is called Steamify CachyOS, based on CachyOS
2026-09-27 21:07:39 +02:00
theupriser
2e35628ba8
feat: The live session is called Steamify, based on CachyOS (os-release, shown by Hello)
2026-09-27 21:04:44 +02:00
theupriser
05c04a013b
feat: The ISO is called steamify-cachyos
2026-09-27 21:03:05 +02:00
theupriser
04793bd07d
docs: TODO: done and open items separated, PR status checked
2026-09-27 20:59:51 +02:00
theupriser
43f17ec062
docs: TODO: regression test 2.6.0 on an existing install before merging
2026-09-27 20:55:58 +02:00
theupriser
0cabdbd8a7
docs: TODO: first desktop login from the ISO install passed
2026-09-27 20:52:32 +02:00
theupriser
974405ff96
docs: TODO: the VM install test passed
2026-09-27 20:49:53 +02:00
theupriser
f42859ac6a
fix: The installer's sudo rule is read last, or CachyOS's %wheel rule after it asks for the password
2026-09-27 20:26:45 +02:00
theupriser
ae21fa9973
docs: TODO: Steamify wizard pages in the installer; LED check isn't a concern
2026-09-27 20:15:54 +02:00
theupriser
bd16c4123d
docs: TODO: what's in progress (build, install test, Steamify PR, hardware test) and later
2026-09-27 20:15:54 +02:00
theupriser
c719f02f6d
docs: TODO: power-off fix and Vapor theme in the live session, drop the Boost workaround later
2026-09-27 20:15:54 +02:00
theupriser
f663ce8794
fix: CachyOS Hello installs it: version-tag is CachyOS's newest release (Hello calls newer ones testing ISOs), the build date goes to /etc/steammachine-iso-build
2026-09-27 20:07:56 +02:00
theupriser
56f5707c86
fix: The Steamify step is added by calamares-online.sh, which copies CachyOS's settings over /etc/calamares/settings.conf
2026-09-27 20:06:11 +02:00
theupriser
f49504c7ce
fix: Boost 1.91's libraries on the ISO, so cachyos-calamares-next (linked against 1.91) starts while the repos ship 1.92
2026-09-27 20:01:29 +02:00
theupriser
331c799ea7
feat: Steamify's default setup for the new user during the install (Calamares step before cleanup)
2026-09-27 19:29:04 +02:00