Commit Graph
100 Commits
Author SHA1 Message Date
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 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