diff options
| author | Denys Fedoryshchenko <denys.f@collabora.com> | 2026-06-10 17:00:38 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-06-10 17:00:38 +0300 |
| commit | 9ddf513b846510fc3321e17c5ec59eb9addd8334 (patch) | |
| tree | 53840efeddf4180a125bb45f16f253a363f852d7 | |
| parent | f2aec6230773177c9449542f92730ca3de0d307e (diff) | |
| parent | 0484b5d7c6c11f6ae832bf504d528e04d5fa31aa (diff) | |
| download | accel-ppp-9ddf513b846510fc3321e17c5ec59eb9addd8334.tar.gz accel-ppp-9ddf513b846510fc3321e17c5ec59eb9addd8334.zip | |
Merge pull request #321 from nuclearcat/fix-bigendian-ci-flakes
ci: harden s390x qemu test against modloop/disk flakes
| -rw-r--r-- | .github/workflows/run-tests-bigendian.yml | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/.github/workflows/run-tests-bigendian.yml b/.github/workflows/run-tests-bigendian.yml index eb09aa9f..389cd2a7 100644 --- a/.github/workflows/run-tests-bigendian.yml +++ b/.github/workflows/run-tests-bigendian.yml @@ -47,7 +47,7 @@ jobs: screen -dmS httpserver python3 -m http.server 8000 - name: Run target OS first time (for setup actions) run: > - sudo screen -dmS qemu + sudo screen -dmS qemu -L -Logfile qemu-console-setup.log qemu-system-s390x -M s390-ccw-virtio -m 4096 -smp 2 -nographic -net nic -net user,hostfwd=tcp::2222-:22 @@ -70,6 +70,20 @@ jobs: sleep 5; done; cat ~/.ssh/known_hosts + - name: Wait for disk to be available + # virtio_blk is not in the netboot initramfs; it comes from the modloop + # image the VM downloads at boot. If that download fails, sshd still + # comes up but /dev/vda never appears, so retry the modloop service + # until the disk is visible. + timeout-minutes: 10 + run: > + while ! ssh -i ssh-key -p2222 root@localhost "test -e /sys/block/vda/device"; + do + echo "Disk not visible, retrying modloop download"; + ssh -i ssh-key -p2222 root@localhost + "rc-service modloop restart; rc-service hwdrivers restart; modprobe virtio_blk 2>/dev/null; ls /lib/modules" || true; + sleep 10; + done - name: Setup alpine to disk run: > ssh -i ssh-key -p2222 root@localhost "setup-alpine -c setup_alpine_conf && @@ -91,7 +105,7 @@ jobs: done; - name: Run target OS run: > - sudo screen -dmS qemu + sudo screen -dmS qemu -L -Logfile qemu-console.log qemu-system-s390x -M s390-ccw-virtio -m 4096 -smp 2 -nographic -net nic -net user,hostfwd=tcp::2222-:22 @@ -176,3 +190,10 @@ jobs: echo "::error::Kernel issues detected in dmesg" exit 1 fi + - name: Display QEMU console logs + if: ${{ always() }} + run: | + for f in qemu-console-setup.log qemu-console.log; do + echo "===== $f =====" + sudo cat "$f" || true + done |
