theupriser
d6b63937ae
Merge pull request #16 from theupriser/bugfix/iso-mirror-wait
...
Sync git.upriser.nl mirror / sync (push) Skipped
fix(ci): wait for the mirror to drop the replaced tag
2026-09-30 12:37:06 +02:00
theupriser
6222bf7c5c
fix(ci): wait for the mirror to drop the old tag by the tag list (the single-tag URL always answers 404 there)
2026-09-30 12:35:46 +02:00
theupriser
38bc1c1aa9
Merge pull request #15 from theupriser/feature/iso-kind-input
...
Sync git.upriser.nl mirror / sync (push) Skipped
feat(ci): the kind of ISO build as an input, daily names, 10 releases per kind
2026-09-30 11:39:30 +02:00
theupriser
588627a14d
feat(ci): ISOs are named by the day like CachyOS (steamify-cachyos-<ver>-<YYMMDD>), one per day and kind, at most 10 dev and 10 real releases kept
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 11:35:22 +02:00
theupriser
38ac8f1cba
feat(ci): iso-1-github-tag.yml takes the kind of build (release, dev, auto) so it always runs from master
2026-09-30 11:32:25 +02:00
theupriser
ceadf20a1b
Merge pull request #14 from theupriser/feat/steamify
...
Sync git.upriser.nl mirror / sync (push) Skipped
Feat/steamify
2026-09-30 10:43:25 +02:00
theupriser
11e2ba62e9
ci: the Gitea flow only builds and releases; the VM tests run on GitHub
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 10:27:07 +02:00
theupriser
504f066a3f
ci: the ISO's install test runs on Steam Machine hardware and on a plain PC (3 VMs at a time each, the plain PC after)
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 10:12:52 +02:00
theupriser
a7f84cd5a0
ci: the test jobs use no actions (the runner's shared action clone broke parallel jobs); logs go into the job log
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 10:03:17 +02:00
theupriser
21e52ec81c
ci: keep the install and serial logs of the boot loader VMs
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 09:43:12 +02:00
theupriser
f37dcf6aa6
ci: the ISO's install test is a plain matrix again (one job per loader, 5 GB to install)
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 09:40:59 +02:00
theupriser
5dea6ac7d9
ci: the ISO flow only tests that the ISO installs correctly (vmbootloadertest.sh --quick)
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 09:38:42 +02:00
theupriser
ea7cbfd179
ci: drop the suites stage from the ISO flow (steamify-cachyos tests steamify.sh in its own vmtest.yml)
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 09:33:09 +02:00
theupriser
02c207c9e5
ci: two fixed boot loader lanes (the runner ignores max-parallel)
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 09:02:23 +02:00
theupriser
13e4bbd0d6
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:43 +02:00
theupriser
55a1c6ab61
ci: sync the git.upriser.nl mirror on pushes to master, feat/steamify and release branches (the mirror has no interval of its own)
Sync git.upriser.nl mirror / sync (push) Skipped
2026-09-30 08:54:06 +02:00
theupriser
85205dd614
ci: the suites' base VM is installed from the ISO this run built (Steamify step skipped); no CachyOS ISO download or cache
2026-09-30 08:46:11 +02:00
theupriser
34e3d2ae4a
ci: the CachyOS ISO cache per CachyOS release again (the Steamify ISO of the run goes to the jobs as an artifact)
2026-09-30 08:43:23 +02:00
theupriser
448e2a5d79
ci: the CachyOS ISO cache gets an entry per workflow run
2026-09-30 08:43:07 +02:00
theupriser
2b72d90d30
ci: cache keys per ISO week instead of per run (no new multi-GB entry on every run)
2026-09-30 08:38:04 +02:00
theupriser
af30018bd9
ci: cache pacman packages (build, test, suites), the VMs' packages and the CachyOS ISO
2026-09-30 08:29:41 +02:00
theupriser
a74500b692
ci: a new run of the ISO workflow cancels the running one (one concurrency group, not per tag)
2026-09-30 08:28:27 +02:00
theupriser
779ee972cf
ci: a suites stage after the boot loader tests (vmtest.sh: cli, menu, hw, installer, toggles on a plain CachyOS VM)
2026-09-30 08:27:34 +02:00
theupriser
cfacfb2493
ci: 6 GB to install, 4 GB to test, 2 vCPUs: lean with headroom
2026-09-30 08:25:53 +02:00
theupriser
d002c7d332
ci: lean test VMs: 2 vCPUs and 4 GB each, also to install
2026-09-30 08:25:28 +02:00
theupriser
028416b760
ci: 6 GB for the installer VM (VM_INSTALL_MEM)
2026-09-30 08:25:14 +02:00
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
2b7d2cde83
Merge pull request #13 from theupriser/feat/steamify
...
Desktop ISO / Build (push) Skipped
Desktop ISO / Testing (grub / btrfs) (push) Skipped
Desktop ISO / Testing (grub / ext4) (push) Skipped
Desktop ISO / Testing (grub / f2fs) (push) Skipped
Desktop ISO / Testing (grub / xfs) (push) Skipped
Desktop ISO / Testing (grub / zfs) (push) Skipped
Desktop ISO / Testing (limine / btrfs) (push) Skipped
Desktop ISO / Testing (limine / ext4) (push) Skipped
Desktop ISO / Testing (limine / f2fs) (push) Skipped
Desktop ISO / Testing (limine / xfs) (push) Skipped
Desktop ISO / Testing (limine / zfs) (push) Skipped
Desktop ISO / Testing (refind / btrfs) (push) Skipped
Desktop ISO / Testing (refind / ext4) (push) Skipped
Desktop ISO / Testing (refind / f2fs) (push) Skipped
Desktop ISO / Testing (refind / xfs) (push) Skipped
Desktop ISO / Testing (refind / zfs) (push) Skipped
Desktop ISO / Testing (systemd-boot / btrfs) (push) Skipped
Desktop ISO / Testing (systemd-boot / ext4) (push) Skipped
Desktop ISO / Testing (systemd-boot / f2fs) (push) Skipped
Desktop ISO / Testing (systemd-boot / xfs) (push) Skipped
Desktop ISO / Testing (systemd-boot / zfs) (push) Skipped
Release feat/steamify: renamed ISO workflows, mirror sync via secrets
2026-09-30 08:14:57 +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