ci: Add tests for filesystems

Signed-off-by: Vasiliy Stelmachenok <ventureo@cachyos.org>
This commit is contained in:
Vasiliy Stelmachenok authored and Peter Jung committed 2026-04-20 19:12:34 +02:00
1 parent 41c699bdd6
commit d0f612ad61
2 files changed
+37 -7

No files matched your search

+4 -2
View File
@@ -45,7 +45,7 @@ jobs:
name: cachyos-desktop-linux-${{ steps.date.outputs.builddate }} name: cachyos-desktop-linux-${{ steps.date.outputs.builddate }}
path: out/desktop/* path: out/desktop/*
quicktest: quicktest:
name: Testing (${{ matrix.bootloader }}) name: Testing (${{ matrix.bootloader }} / ${{ matrix.filesystem }})
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: build needs: build
container: container:
@@ -56,6 +56,7 @@ jobs:
max-parallel: 4 max-parallel: 4
matrix: matrix:
bootloader: [grub, systemd-boot, refind, limine] bootloader: [grub, systemd-boot, refind, limine]
filesystem: [btrfs, xfs, ext4, f2fs, zfs]
steps: steps:
- name: Clone CachyOS-Live-ISO - name: Clone CachyOS-Live-ISO
id: clone id: clone
@@ -108,11 +109,12 @@ jobs:
QUICKEMU_DISPLAY: "none" QUICKEMU_DISPLAY: "none"
QUICKEMU_VM_DIR: "./machines" QUICKEMU_VM_DIR: "./machines"
TEST_BOOTLOADER: "${{ matrix.bootloader }}" TEST_BOOTLOADER: "${{ matrix.bootloader }}"
TEST_FILESYSTEM: "${{ matrix.filesystem }}"
- name: Upload results to artifacts - name: Upload results to artifacts
id: upload-results id: upload-results
if: always() if: always()
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: cachyos-desktop-linux-results-${{needs.build.outputs.builddate}}-${{ matrix.bootloader }} name: cachyos-desktop-linux-results-${{needs.build.outputs.builddate}}-${{ matrix.bootloader }}-${{ matrix.filesystem }}
path: results/* path: results/*
@@ -83,13 +83,23 @@ function test_calamares_partitions() {
qt_send_key_combo "tab" qt_send_key_combo "tab"
qt_send_key_combo "tab" qt_send_key_combo "tab"
qt_send_key_combo "spc" qt_send_key_combo "spc"
qt_send_key_combo "shift-tab" qt_send_key_combo "tab"
qt_send_key_combo "shift-tab"
qt_send_key_combo "shift-tab"
qt_send_key_combo "shift-tab"
qt_send_key_combo "shift-tab"
qt_send_key_combo "spc" qt_send_key_combo "spc"
for ((i=0; i < filesystem_index; i++)); do
qt_send_key_combo "down"
done
qt_send_key "enter"
qt_wait_for_seconds 2
qt_send_key_combo "shift-tab"
qt_send_key_combo "shift-tab"
qt_send_key_combo "shift-tab"
qt_send_key_combo "shift-tab"
qt_send_key_combo "shift-tab"
qt_send_key_combo "shift-tab"
qt_screenshot_ppm "$FUNCNAME" qt_screenshot_ppm "$FUNCNAME"
qt_send_key_combo "spc"
} }
function test_calamares_desktop() { function test_calamares_desktop() {
@@ -153,6 +163,14 @@ function test_input_validation() {
["limine"]="4" ["limine"]="4"
) )
local -Ar filesystems=(
["btrfs"]="0"
["xfs"]="1"
["ext4"]="2"
["f2fs"]="3"
["zfs"]="4"
)
local bootloader="${TEST_BOOTLOADER:-Limine}" local bootloader="${TEST_BOOTLOADER:-Limine}"
local -g bootloader_index="${bootloaders[$bootloader]}" local -g bootloader_index="${bootloaders[$bootloader]}"
@@ -163,6 +181,16 @@ function test_input_validation() {
qt_echo "✅ Selected bootloader is $bootloader ($bootloader_index)" qt_echo "✅ Selected bootloader is $bootloader ($bootloader_index)"
fi fi
local filesystem="${TEST_FILESYSTEM:-btrfs}"
local -g filesystem_index="${filesystems[$filesystem]}"
if [ -z "$filesystem_index" ]; then
qt_echo "🚨 Unknown filesystem passed: $filesystem"
exit 1
else
qt_echo "✅ Selected filesystem is $filesystem ($filesystem_index)"
fi
qt_echo "✅ Validation passed" qt_echo "✅ Validation passed"
} }