mirror of
https://github.com/theupriser/steamify-cachyos-live-iso.git
synced 2026-10-02 15:10:26 +02:00
ci: the suites' base VM is installed from the ISO this run built (Steamify step skipped); no CachyOS ISO download or cache
This commit is contained in:
1 parent
34e3d2ae4a
commit
85205dd614
2 files changed
+12
-18
No files matched your search
@@ -248,22 +248,16 @@ jobs:
|
||||
|
||||
# The suites run on a plain CachyOS VM (Plasma, no Steamify): the newest CachyOS ISO, installed once;
|
||||
# every block then starts from a fresh overlay of that VM.
|
||||
# The CachyOS ISO (~3 GB), only the base of the suites' plain VM (not the Steamify ISO this run builds: that one
|
||||
# goes to the other jobs as the artifact `iso`): cached per CachyOS release.
|
||||
- name: CachyOS release
|
||||
id: cachyos
|
||||
run: |
|
||||
rel="$(curl -fsL https://cachyos.org/download/ | grep -oE 'cachyos-desktop-linux-[0-9]+' | head -n 1)"
|
||||
echo "release=${rel:?no CachyOS release found}" >> "$GITHUB_OUTPUT"
|
||||
- name: Cache - the CachyOS ISO
|
||||
uses: actions/cache@v4
|
||||
- uses: christopherhx/gitea-download-artifact@v4
|
||||
with:
|
||||
path: |
|
||||
steamify-cachyos-dev/cachyos.iso
|
||||
steamify-cachyos-dev/cachyos.iso.version
|
||||
key: cachyos-iso-${{ steps.cachyos.outputs.release }}
|
||||
name: iso
|
||||
path: iso
|
||||
|
||||
- name: Plain CachyOS VM
|
||||
# The suites test steamify.sh from a plain system, so the base VM is installed from the ISO this run built
|
||||
# with its Steamify step skipped (VM_STEAMIFY=skip): the ISO's installer, kernels, packages and boot loader
|
||||
# are tested, every block then starts from a fresh overlay of that VM. (The boot loader jobs test the
|
||||
# ISO with Steamify installed.)
|
||||
- name: Base VM from the new ISO
|
||||
env:
|
||||
CI: "1"
|
||||
VM_TIMEZONE: UTC
|
||||
@@ -273,9 +267,9 @@ jobs:
|
||||
run: |
|
||||
mkdir -p ~/.ssh ~/vms/pkg-cache
|
||||
ssh-keygen -q -t ed25519 -N "" -C steamify-vm -f ~/.ssh/steamify-vm_ed25519
|
||||
iso="$(ls "$GITHUB_WORKSPACE"/iso/*.iso | head -n 1)"
|
||||
cd steamify-cachyos-dev
|
||||
./get-iso.sh # does nothing when the cached ISO is the current release
|
||||
VM_DIR="$HOME/vms/steamify-vm" scripts/vminstall.sh --iso cachyos.iso
|
||||
VM_DIR="$HOME/vms/steamify-vm" scripts/vminstall.sh --iso "$iso"
|
||||
|
||||
# Two suites at a time, 4 GB and 2 vCPUs each (vmsuite.sh).
|
||||
- name: vmtest.sh (every suite)
|
||||
|
||||
@@ -121,7 +121,7 @@ Full write-up, with every trap: `steamify-iso-release` in steamify-cachyos-dev.
|
||||
- `.github/workflows/iso-2-gitea-build.yml` (Gitea, `on: push: tags: v*`, skipped on GitHub) runs four jobs for that
|
||||
tag: build the ISO, test it (steamify-cachyos-dev's `scripts/vmbootloadertest.sh --install`, one job per boot loader,
|
||||
parallel up to the runner's capacity; needs `/dev/kvm` on the runner and checks out steamify-cachyos-dev `main` and
|
||||
steamify-cachyos at the ISO's version from the mirror), then, after those, the suites (`scripts/vmtest.sh cli menu hw installer toggles` on a plain CachyOS VM installed from the newest CachyOS ISO, two at a time), and only when all tests passed attach it to the mirror's release. The tag decides everything: Steamify version (`steamify-prepare.sh`
|
||||
steamify-cachyos at the ISO's version from the mirror), then, after those, the suites (`scripts/vmtest.sh cli menu hw installer toggles` on a plain VM installed from the new ISO with `VM_STEAMIFY=skip`, two at a time), and only when all tests passed attach it to the mirror's release. The tag decides everything: Steamify version (`steamify-prepare.sh`
|
||||
takes `STEAMIFY_VERSION`), file name (`STEAMIFY_ISO_VERSION` -> `iso_version` in `profiledef.sh`), label
|
||||
(`STEAMIFY_BUILD_STAMP`), boot menu and `/etc/steammachine-iso-build`. The build reads no clock; without a
|
||||
tag everything says `local`.
|
||||
@@ -131,5 +131,5 @@ Full write-up, with every trap: `steamify-iso-release` in steamify-cachyos-dev.
|
||||
GitHub doesn't have, and the release with them. GitHub releases can't hold the ISO (2 GB per file).
|
||||
- Gitea needs `[repository.release] FILE_MAX_SIZE` above the ISO (413 otherwise) and the runner
|
||||
`container: privileged: true` (archiso mounts `/proc`); the workflow's `--privileged` option is ignored.
|
||||
- Caches (`actions/cache`, the runner's cache server): pacman's package cache per job kind (build, test), the VMs' packages (`VM_CACHE`, `~/vms/pkg-cache`) and the CachyOS ISO for the suites, per release. Each job first installs only node and git, restores the caches, then installs the rest.
|
||||
- Caches (`actions/cache`, the runner's cache server): pacman's package cache per job kind (build, test) and the VMs' packages (`VM_CACHE`, `~/vms/pkg-cache`), keys per ISO week. Each job first installs only node and git, restores the caches, then installs the rest.
|
||||
- CachyOS's own `Desktop ISO` workflow (`build.yml`) is removed here; the test job of iso-2-gitea-build.yml replaces it.
|
||||
Reference in new issue
Block a user