Testing raidz_expand_001_pos failure #139
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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-* |