Skip to content

PM: sleep: Do not flag runtime PM workqueue as freezable #5051

PM: sleep: Do not flag runtime PM workqueue as freezable

PM: sleep: Do not flag runtime PM workqueue as freezable #5051

Workflow file for this run

# SPDX-License-Identifier: GPL-2.0-or-later
#
# Copyright (c) 2025 Western Digital Corporation or its affiliates.
#
# Authors: Dennis Maisenbacher ([email protected])
name: Run blktests
on:
pull_request:
concurrency:
group: ci-test-${{ github.ref_name }}
env:
KERNEL_REF: "${{ github.event.pull_request.head.sha }}"
KERNEL_TREE: "https://github.com/${{ github.repository }}"
#This workflow requires an actions-runner-controllers (ARC) to be active.
#The k8s cluster of this ARC needs KubeVirt to be installed.
jobs:
build-and-test-kernel:
#This step runs in a container in the k8s cluster
runs-on: arc-vm-linux-blktests
steps:
- name: Checkout blktests-ci
uses: actions/checkout@v4
with:
repository: linux-blktests/blktests-ci
path: blktests-ci
- name: Build kernel and package it into a containerimage
run: |
cd blktests-ci/playbooks/roles/kernel-builder-k8s-job/templates
docker build \
--build-arg KERNEL_TREE=${KERNEL_TREE} \
--build-arg KERNEL_REF=${KERNEL_REF} \
-t linux-kernel-containerdisk \
-f Dockerfile.linux-kernel-containerdisk . 2>&1 | tee build.log
#Setting KERNEL_VERSION var which is latern needed for notifying the VM what kernel to pick up
cat build.log | grep KERNEL_VERSION | awk '{print $3}' | grep KERNEL_VERSION >> $GITHUB_ENV
- name: Push the new Fedora containerimage with the freshly build kernel
run: |
docker tag linux-kernel-containerdisk registry-service.docker-registry.svc.cluster.local/linux-kernel-containerdisk:${KERNEL_VERSION}
docker push registry-service.docker-registry.svc.cluster.local/linux-kernel-containerdisk:${KERNEL_VERSION}
- name: Run in VM
uses: ./blktests-ci/.github/actions/kubevirt-action
with:
kernel_version: ${{ env.KERNEL_VERSION }}
vm_artifact_upload_dir: blktests/results
run_cmds: |
#Print VM debug info
uname -a
cat /etc/os-release
lsblk
#Install build dependencies for blktests
sudo dnf install -y gcc \
clang \
make \
util-linux \
llvm \
gawk \
fio \
udev \
kmod \
coreutils \
gcc \
gzip \
e2fsprogs \
xfsprogs \
f2fs-tools \
btrfs-progs \
device-mapper-multipath \
blktrace \
kernel-headers \
liburing \
liburing-devel \
nbd \
device-mapper \
ktls-utils \
dosfstools \
bc \
libnl3-cli \
cryptsetup \
sg3_utils \
pciutils \
unzip \
jq \
nvme-cli \
git \
wget \
pkgconf \
libudev-devel
git clone https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git
cd mdadm
git checkout d764c4829947923142a83251296d04edaee7d2f7
make -j$(nproc)
sudo make install
cd -
git clone https://github.com/linux-blktests/blktests.git
cd blktests
git checkout ci
make
#ATTENTION! This section formats all available NVMe devices. Be careful when changing the `runs-on` tag!
#This step runs in a VM with the previously compiled kernel in the k8s cluster
rm -f all_failures
# Run blktests block group
cat > config << EOF
TEST_DEVS=(${BDEV0})
EOF
export RUN_ZONED_TESTS=1
sudo ./check block
test -f results/failures && cat results/failures >> all_failures
# Run blktests nvme group
#cat > config << EOF
#TEST_DEVS=(${BDEV0})
#NVMET_TRTYPES="loop rdma"
#EXCLUDE=(nvme/014 nvme/038 nvme/057 nvme/058)
#EOF
#sudo ./check nvme
#test -f results/failures && cat results/failures >> all_failures
# Run blktests scsi group
cat > config << EOF
TEST_DEVS=()
export RUN_ZONED_TESTS=1
EOF
sudo ./check scsi
test -f results/failures && cat results/failures >> all_failures
# Run blktests misc groups
cat > config << EOF
TEST_DEVS=()
EOF
sudo ./check dm loop md throtl ublk
test -f results/failures && cat results/failures >> all_failures
# Run ZBD blktests without TEST_DEVS
cat > config << EOF
TEST_DEVS=()
EXCLUDE=(zbd/009)
EOF
export RUN_ZONED_TESTS=1
sudo ./check zbd
test -f results/failures && cat results/failures >> all_failures
# Run ZBD blktests with TEST_DEVS
cat > config << EOF
TEST_DEVS=(${ZBD0})
DEVICE_ONLY=1
EOF
export RUN_ZONED_TESTS=1
sudo ./check zbd
test -f results/failures && cat results/failures >> all_failures
# Run blktests srp group
#cat > config << EOF
#TEST_DEVS=()
#EOF
#sudo ./check srp
#test -f results/failures && cat results/failures >> all_failures
# Mark blktests completion for KPD report
echo "KPD: blktests completed"
# Output failures for KPD report
test -f all_failures && echo "KPD: Failures:" && cat all_failures
test -f all_failures && exit 1
exit 0