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

This commit is contained in:
theupriser committed 2026-09-30 09:40:59 +02:00
1 parent 5dea6ac7d9
commit f37dcf6aa6
1 file changed
+11 -15
+11 -15
View File
@@ -96,7 +96,7 @@ jobs:
retention-days: 3 retention-days: 3
test: test:
name: Test ${{ matrix.lane }} name: Test ${{ matrix.loader }}
needs: build needs: build
runs-on: ubuntu-latest runs-on: ubuntu-latest
timeout-minutes: 90 timeout-minutes: 90
@@ -105,10 +105,10 @@ jobs:
options: --privileged options: --privileged
strategy: strategy:
fail-fast: false fail-fast: false
# The runner ignores max-parallel, so two fixed lanes: two VMs at a time (~12 GB of RAM at most), the # max-parallel is ignored by this runner (it starts all three), so the VMs are lean: 3 x 5 GB to install.
# loaders of a lane one after the other. max-parallel: 2
matrix: matrix:
lane: ["limine grub", "systemd-boot"] loader: [limine, systemd-boot, grub]
defaults: defaults:
run: run:
shell: bash shell: bash
@@ -160,34 +160,30 @@ jobs:
name: iso name: iso
path: iso path: iso
- name: Boot loader test (${{ matrix.lane }}) - name: Boot loader test (${{ matrix.loader }})
env: env:
CI: "1" CI: "1"
VM_TIMEZONE: UTC VM_TIMEZONE: UTC
# The runner is 4 cores / 8 threads: two VMs with 2 vCPUs leave 4 threads for the host and the runner. # The runner is 4 cores / 8 threads: three VMs with 2 vCPUs leave 2 threads for the host and the runner.
VM_CPUS: "2" VM_CPUS: "2"
# RAM of the live installer VM (the ISO is read from its cdrom, only the overlay and the installer use RAM); 8 GB is the local default, lean with headroom: lower it only after a run shows the install stays well under # RAM of the live installer VM (the ISO is read from its cdrom, only the overlay and the installer use RAM); 8 GB is the local default, lean with headroom: lower it only after a run shows the install stays well under
VM_INSTALL_MEM: 6G VM_INSTALL_MEM: 5G
VM_ISO_DIR: ${{ github.workspace }}/iso VM_ISO_DIR: ${{ github.workspace }}/iso
run: | run: |
mkdir -p ~/.ssh ~/vms/pkg-cache mkdir -p ~/.ssh ~/vms/pkg-cache
ssh-keygen -q -t ed25519 -N "" -C steamify-vm -f ~/.ssh/steamify-vm_ed25519 ssh-keygen -q -t ed25519 -N "" -C steamify-vm -f ~/.ssh/steamify-vm_ed25519
iso="$(ls "$VM_ISO_DIR"/*.iso | head -n 1)" iso="$(ls "$VM_ISO_DIR"/*.iso | head -n 1)"
cd steamify-cachyos-dev cd steamify-cachyos-dev
rc=0 VM_ISO="$iso" scripts/vmbootloadertest.sh "${{ matrix.loader }}" --install --quick
for loader in ${{ matrix.lane }}; do
VM_ISO="$iso" scripts/vmbootloadertest.sh "$loader" --install --quick || rc=1
done
exit $rc
- name: Logs - name: Logs
if: always() if: always()
uses: christopherhx/gitea-upload-artifact@v4 uses: christopherhx/gitea-upload-artifact@v4
with: with:
name: test-${{ strategy.job-index }} name: test-${{ matrix.loader }}
path: | path: |
/root/vms/bl-*.test.log /root/vms/bl-${{ matrix.loader }}.test.log
/root/vms/bl-*/vm.log /root/vms/bl-${{ matrix.loader }}/vm.log
retention-days: 7 retention-days: 7
if-no-files-found: ignore if-no-files-found: ignore