Skip to content

Increase backoff

Increase backoff #188

Workflow file for this run

name: Run SSD and ZNS Workloads
on:
push:
branches:
- main
pull_request:
workflow_dispatch: # Allows manual runs
jobs:
run-qemu-ubuntu:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install QEMU
run: |
sudo apt update >/dev/null
sudo apt install -y qemu-system-x86 qemu-utils cloud-utils wget sshpass >/dev/null
- name: Download Ubuntu Cloud Image
run: |
wget -O /tmp/ubuntu.qcow2 https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img -o /dev/null
- name: Resize Ubuntu QEMU Disk
run: |
qemu-img resize /tmp/ubuntu.qcow2 12G
- name: Create Cloud-Init Disk
run: |
cat > user-data <<EOF
#cloud-config
password: ubuntu
chpasswd: { expire: False }
ssh_pwauth: True
EOF
cloud-localds /tmp/cloud-init.iso user-data
- name: Run QEMU VM with Ubuntu
run: |
sudo qemu-system-x86_64 \
-enable-kvm \
-m 12G \
-smp 2 \
-cpu host \
-drive file=/tmp/ubuntu.qcow2,format=qcow2,if=virtio \
-drive file=/tmp/cloud-init.iso,format=raw,if=virtio \
-net user,hostfwd=tcp::2222-:22 \
-net nic \
-nographic &
# Wait for SSH to be available
sleep 60
- name: Install deps
run: |
mkdir ~/.ssh
ssh-keyscan -H 127.0.0.1 >> ~/.ssh/known_hosts
sshpass -p "ubuntu" ssh -o StrictHostKeyChecking=no -p 2222 ubuntu@127.0.0.1 'sudo apt update && sudo apt install -y \
linux-modules-extra-$(uname -r) \
autoconf \
automake \
libtool \
build-essential \
meson \
ninja-build \
pkg-config \
clang \
git \
wget \
libglib2.0-dev'
- name: Build Code in QEMU
run: |
sshpass -p "ubuntu" scp -o StrictHostKeyChecking=no -P 2222 -r $GITHUB_WORKSPACE ubuntu@127.0.0.1:/home/ubuntu/ZNWorkload
sshpass -p "ubuntu" ssh -o StrictHostKeyChecking=no -p 2222 ubuntu@127.0.0.1 << 'EOF'
cd ZNWorkload
./build-deps.sh
find .
meson setup buildDir -Dverify=true -Ddebugging=true -DBLOCK_ZONE_CAPACITY=1048576
meson compile -C buildDir
EOF
- name: Run ZNS
run: |
sshpass -p "ubuntu" ssh -o StrictHostKeyChecking=no -p 2222 ubuntu@127.0.0.1 << 'EOF'
set -e # Exit on first error
cd ZNWorkload
sudo ./scripts/nullblk.sh 4096 1 0 14 "zns"
sudo ./buildDir/src/zncache /dev/nullb0 524288 2
EOF
- name: Run SSD
run: |
sshpass -p "ubuntu" ssh -o StrictHostKeyChecking=no -p 2222 ubuntu@127.0.0.1 << 'EOF'
set -e # Exit on first error
cd ZNWorkload
sudo ./scripts/nullblk.sh 4096 1 0 14 "ssd"
sudo ./buildDir/src/zncache /dev/nullb1 524288 2
EOF
- name: Run Test Suite
run: |
sshpass -p "ubuntu" ssh -o StrictHostKeyChecking=no -p 2222 ubuntu@127.0.0.1 << 'EOF'
ls /dev/nullb*
cd ZNWorkload
meson test -C buildDir --list
if ! sudo meson test -C buildDir; then
[ -f ./buildDir/meson-logs/testlog.txt ] && cat ./buildDir/meson-logs/testlog.txt
exit 1
fi
[ -f ./buildDir/meson-logs/testlog.txt ] && cat ./buildDir/meson-logs/testlog.txt
EOF