Skip to content

testing/mdadm: Add guess test #259

testing/mdadm: Add guess test

testing/mdadm: Add guess test #259

Workflow file for this run

name: "CI"
on:
push:
branches:
- "master"
- "for-master"
- "patchset/**"
paths-ignore:
- "**.md"
jobs:
verify:
name: "Verify"
runs-on: ubuntu-24.04
steps:
- name: "Checkout Repository"
uses: actions/checkout@v4
- name: "Checkout Submodules"
run: |
git submodule set-url external/busybox/upstream https://github.com/mirror/busybox
git submodule update --init --recursive
- name: "Setup host"
run: |
sudo sysctl -w kernel.unprivileged_userns_clone=1 ||:
sudo sysctl -w kernel.apparmor_restrict_unprivileged_unconfined=0 ||:
sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 ||:
- name: "Install Tools"
run: |
sudo apt-get -y -qq install \
gcc make automake autoconf pkg-config udev scdoc \
libkmod-dev libz-dev libbz2-dev liblzma-dev libzstd-dev libelf-dev libtirpc-dev libcrypt-dev
sudo apt-get -y -qq install astyle
sudo apt-get -y -qq install shellcheck
- name: "Configure"
run: |
./autogen.sh
./configure --enable-local-build
- name: "Build Sources"
run: |
make
- name: "Prepare Gittree"
run: |
git config --global user.email "[email protected]"
git config --global user.name "GitHubCI commiter"
git commit -a -m 'CI: update git tree'
- name: "Indent-c"
run: |
make indent-c && git diff --exit-code
- name: "ShellCheck"
run: |
make verify
- name: "Check services"
run: |
export PATH="$PWD/external/libshell/upstream:$PATH"
make check-services
- name: "Unit Tests"
run: |
export PATH="$PWD/external/libshell/upstream:$PATH"
make check-unit
e2e-local:
name: "${{ matrix.name }} ${{ matrix.test }} ${{ matrix.testcase }}"
needs: [ verify ]
runs-on: ubuntu-latest
strategy:
matrix:
name: [
"altlinux",
"fedora",
"ubuntu",
]
test: [
"local",
]
testcase: [
"btrfs-subvol",
"efi-partition",
"efi-reqpartition",
"luks",
"luks+crypttab+noparam",
"luks+lukskey-noparam",
"luks+lukskey-plain",
"luks+lukskey-raw",
"luks-over-lvm",
"luks-over-raid1",
"lvm",
"lvm+luks",
"partition",
"partition+usr",
"pipeline",
"raid1",
"raid1+raid5",
"raid1-degraded",
"raid5",
"zfs-partition",
]
exclude:
- name: fedora
testcase: efi-partition
- name: fedora
testcase: efi-reqpartition
- name: fedora
testcase: zfs-partition
- name: ubuntu
testcase: efi-partition
- name: ubuntu
testcase: efi-reqpartition
- name: ubuntu
testcase: btrfs-subvol
- name: altlinux
testcase: zfs-partition
fail-fast: false
#max-parallel: 6
steps:
- name: "Prepare Node"
run: |
for m in kvm kvm-amd kvm-intel; do sudo modprobe -v "$m" ||:; done
test -c /dev/kvm && sudo chmod -v 666 /dev/kvm ||:
- name: "Install Packages"
run: |
sudo apt-get -qq -y update
sudo apt-get -qq -y install git expect qemu-kvm ovmf
- name: "Checkout Repository"
uses: actions/checkout@v4
- name: "Checkout Submodules"
run: |
git submodule set-url external/busybox/upstream https://github.com/mirror/busybox
git submodule update --init --recursive
- name: "Build Sources"
run: testing/testing-${{ matrix.name }}-${{ matrix.test }} test-root-${{ matrix.testcase }} build-git
- name: "Build Sysimage"
run: testing/testing-${{ matrix.name }}-${{ matrix.test }} test-root-${{ matrix.testcase }} build-sysimage
- name: "Build Kickstart"
run: testing/testing-${{ matrix.name }}-${{ matrix.test }} test-root-${{ matrix.testcase }} build-kickstart
- name: "Build Other Tools"
run: testing/testing-${{ matrix.name }}-${{ matrix.test }} test-root-${{ matrix.testcase }} build-tools
- name: "Run Kickstart"
env:
QEMU_TIMEOUT: 40m
QEMU_MEMORY: 1G
QEMU_DISK_FORMAT: qcow2
run: testing/testing-${{ matrix.name }}-${{ matrix.test }} test-root-${{ matrix.testcase }} run-kickstart
- name: "Run Services"
run: testing/testing-${{ matrix.name }}-${{ matrix.test }} test-root-${{ matrix.testcase }} run-services
- name: "Boot System"
env:
QEMU_TIMEOUT: 10m
QEMU_MEMORY: 1G
QEMU_DISK_FORMAT: qcow2
run: testing/testing-${{ matrix.name }}-${{ matrix.test }} test-root-${{ matrix.testcase }} run-boot
- name: "Archive Metrics"
uses: actions/upload-artifact@v4
with:
name: "metrics-${{ matrix.name }}-${{ matrix.test }}-${{ matrix.testcase }}"
path: testing/status/artifact-*.txt
if-no-files-found: ignore
retention-days: 1
e2e-network:
name: "${{ matrix.name }} ${{ matrix.test }} ${{ matrix.testcase }}"
needs: [ verify ]
runs-on: ubuntu-latest
strategy:
matrix:
name: [
"altlinux",
]
test: [
"sshfs",
]
testcase: [
"sshfs-network-dhcp",
"sshfs-network-static1",
]
fail-fast: false
steps:
- name: "Prepare Node"
run: |
for m in kvm kvm-amd kvm-intel; do sudo modprobe -v "$m" ||:; done
test -c /dev/kvm && sudo chmod -v 666 /dev/kvm ||:
- name: "Install packages"
run: |
sudo apt-get -qq -y update
sudo apt-get -qq -y install git qemu-kvm
- name: "Checkout Repository"
uses: actions/checkout@v4
- name: "Checkout submodules"
run: |
git submodule set-url external/busybox/upstream https://github.com/mirror/busybox
git submodule update --init --recursive
- name: "Build Sources"
run: testing/testing-${{ matrix.name }}-${{ matrix.test }} test-root-${{ matrix.testcase }} build-git
- name: "Build Sysimage"
run: testing/testing-${{ matrix.name }}-${{ matrix.test }} test-root-${{ matrix.testcase }} build-sysimage
- name: "Build Other Tools"
run: testing/testing-${{ matrix.name }}-${{ matrix.test }} test-root-${{ matrix.testcase }} build-tools
- name: "Run Services"
run: testing/testing-${{ matrix.name }}-${{ matrix.test }} test-root-${{ matrix.testcase }} run-services
- name: "Boot System"
env:
QEMU_TIMEOUT: 10m
QEMU_MEMORY: 1G
QEMU_DISK_FORMAT: qcow2
run: testing/testing-${{ matrix.name }}-${{ matrix.test }} test-root-${{ matrix.testcase }} run-boot
- name: "Archive Metrics"
uses: actions/upload-artifact@v4
with:
name: "metrics-${{ matrix.name }}-${{ matrix.test }}-${{ matrix.testcase }}"
path: testing/status/artifact-*.txt
if-no-files-found: ignore
retention-days: 1
metrics:
name: "Metrics"
needs: [ e2e-local, e2e-network ]
runs-on: ubuntu-latest
if: success() || failure()
steps:
- name: "Checkout Repository"
uses: actions/checkout@v4
- name: "Download Metrics"
uses: actions/download-artifact@v4
with:
path: artifacts
- name: "Summarize"
run: testing/generate-metrics artifacts > "$GITHUB_STEP_SUMMARY"
garbage-collection:
name: "Garbage Collection"
needs: [ metrics ]
runs-on: ubuntu-latest
if: success() || cancelled()
steps:
- name: "Remove Artifacts"
uses: geekyeggo/delete-artifact@v5
with:
name: metrics-*
failOnError: false