Skip to content

Testing raidz_expand_001_pos failure #139

Testing raidz_expand_001_pos failure

Testing raidz_expand_001_pos failure #139

Workflow file for this run

name: zfs-qemu
on:
push:
# pull_request:
jobs:
qemu-vm:
name: qemu-vm
strategy:
fail-fast: false
matrix:
# all:
# os: [almalinux8, almalinux9, archlinux, centos-stream9, fedora39, fedora40, debian11, debian12, freebsd13, freebsd13r, freebsd14, freebsd14r, freebsd15, ubuntu20, ubuntu22, ubuntu24]
# os: [almalinux8, almalinux9, centos-stream9, fedora39, fedora40, debian11, debian12, freebsd13, freebsd13r, freebsd14, freebsd14r, freebsd15, ubuntu20, ubuntu22, ubuntu24]
# openzfs:
# os: [almalinux8, almalinux9, centos-stream9, fedora39, fedora40, freebsd13, freebsd13r, freebsd14, freebsd14r, freebsd15, ubuntu20, ubuntu22, ubuntu24]
# freebsd:
os: [almalinux8, almalinux9, fedora39, fedora40, freebsd13, freebsd14, ubuntu20, ubuntu22, ubuntu24]
# os: [freebsd13, freebsd13r, freebsd14, freebsd14r, freebsd15]
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
# - name: Setup SSH
# run: |
# mkdir -p $HOME/.ssh
# echo "ConnectTimeout 1" >> $HOME/.ssh/config
# echo "StrictHostKeyChecking no" >> $HOME/.ssh/config
# echo "${{ secrets.AUTHORIZED_KEYS }}" >> $HOME/.ssh/authorized_keys
# echo "${{ secrets.SSH_KEY }}" > $HOME/.ssh/id_ed25519
# echo "${{ secrets.KNOWN_HOSTS }}" >> $HOME/.ssh/known_hosts
# chmod 600 $HOME/.ssh/id_ed25519
# R=`shuf -n 1 -i 10000-60000`
# echo "Port $R"
# ssh -x -N -C -f -R $R:127.0.0.1:22 mcmilk@${{ secrets.SOME_HOST }}
- name: Setup QEMU
timeout-minutes: 10
run: .github/workflows/scripts/qemu-1-setup.sh
- name: Start build machine
timeout-minutes: 10
run: .github/workflows/scripts/qemu-2-start.sh ${{ matrix.os }}
- name: Install dependencies
timeout-minutes: 20
run: |
echo "Install dependencies in QEMU machine"
IP=192.168.122.10
while pidof /usr/bin/qemu-system-x86_64 >/dev/null; do
ssh 2>/dev/null zfs@$IP "uname -a" && break
done
scp .github/workflows/scripts/qemu-3-deps.sh zfs@$IP:qemu-3-deps.sh
PID=`pidof /usr/bin/qemu-system-x86_64`
ssh zfs@$IP '$HOME/qemu-3-deps.sh' ${{ matrix.os }}
# wait for poweroff to succeed
tail --pid=$PID -f /dev/null
sleep 5 # avoid this: "error: Domain is already active"
- name: Build modules
timeout-minutes: 30
run: |
echo "Build modules in QEMU machine"
sudo virsh start openzfs
rm -f $HOME/.ssh/known_hosts
IP=192.168.122.10
while pidof /usr/bin/qemu-system-x86_64 >/dev/null; do
ssh 2>/dev/null zfs@$IP "uname -a" && break
done
rsync -ar $HOME/work/zfs/zfs zfs@$IP:./
ssh zfs@$IP '$HOME/zfs/.github/workflows/scripts/qemu-4-build.sh' ${{ matrix.os }}
- name: Setup testing machines
timeout-minutes: 5
run: .github/workflows/scripts/qemu-5-setup.sh
- name: Run tests
timeout-minutes: 270
run: .github/workflows/scripts/qemu-6-tests.sh ${{ matrix.os }}
- name: Create test reports
if: always()
timeout-minutes: 10
run: .github/workflows/scripts/qemu-7-reports.sh
- uses: actions/upload-artifact@v4
id: artifact-upload-step
if: always()
with:
name: Logs-functional-${{ matrix.os }}
path: /tmp/qemu-${{ matrix.os }}.tar
if-no-files-found: ignore
- name: Test Summary
if: success() || failure()
run: |
cat /var/tmp/test_results/summary.txt
echo ""
echo "Full logs for download:"
echo '${{ steps.artifact-upload-step.outputs.artifact-url }}'
echo "File listing:"
ls -l /var/tmp/test_results/
# Did we have a test failure?
if grep -vq 0 /var/tmp/test_results/vm*/exitcode.txt ; then
echo "One or more tests failed"
cat /var/tmp/test_results/summary-failure-logs.txt
# On test failures, the github test results page will autoscroll to the
# bottom of summary-with-logs.txt. The first thing we want to see
# is the summary page of failures so print another copy of it at
# the bottom of the "page" for easy access.
echo ""
cat /var/tmp/test_results/summary.txt
echo ""
echo "Full logs for download:"
echo '${{ steps.artifact-upload-step.outputs.artifact-url }}'
false
else
true
fi
cleanup:
if: always()
name: Cleanup
runs-on: ubuntu-latest
needs: [ qemu-vm ]
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
- uses: actions/download-artifact@v4
- name: Generating summary
run: .github/workflows/scripts/qemu-8-summary.sh
- name: Generating summary...
run: .github/workflows/scripts/qemu-8-summary.sh 2
- name: Generating summary...
run: .github/workflows/scripts/qemu-8-summary.sh 3
- name: Generating summary...
run: .github/workflows/scripts/qemu-8-summary.sh 4
- name: Generating summary...
run: .github/workflows/scripts/qemu-8-summary.sh 5
- name: Generating summary...
run: .github/workflows/scripts/qemu-8-summary.sh 6
- name: Generating summary...
run: .github/workflows/scripts/qemu-8-summary.sh 7
- name: Generating summary...
run: .github/workflows/scripts/qemu-8-summary.sh 8
- name: Generating summary...
run: .github/workflows/scripts/qemu-8-summary.sh 9
- name: Generating summary...
run: .github/workflows/scripts/qemu-8-summary.sh 10
- name: Generating summary...
run: .github/workflows/scripts/qemu-8-summary.sh 11
- name: Generating summary...
run: .github/workflows/scripts/qemu-8-summary.sh 12
- name: Generating summary...
run: .github/workflows/scripts/qemu-8-summary.sh 13
- name: Generating summary...
run: .github/workflows/scripts/qemu-8-summary.sh 14
- name: Generating summary...
run: .github/workflows/scripts/qemu-8-summary.sh 15
- name: Generating summary...
run: .github/workflows/scripts/qemu-8-summary.sh 16
- name: Generating summary...
run: .github/workflows/scripts/qemu-8-summary.sh 17
- name: Generating summary...
run: .github/workflows/scripts/qemu-8-summary.sh 18
- name: Generating summary...
run: .github/workflows/scripts/qemu-8-summary.sh 19
- uses: actions/upload-artifact@v4
with:
name: Summary Files
path: out-*