diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 69cc0b436..eef95f329 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -140,10 +140,18 @@ jobs: run: sudo -E XDG_RUNTIME_DIR= make -C scripts/ci fedora-rawhide CONTAINER_RUNTIME=podman BUILD_OPTIONS="--security-opt seccomp=unconfined" vagrant-fedora-rawhide-test: - name: Vagrant Fedora Rawhide based test + name: Vagrant Fedora ${{ matrix.name }} based test needs: [alpine-test] runs-on: ubuntu-24.04 timeout-minutes: 60 + strategy: + fail-fast: false + matrix: + include: + - variant: fedora-stable + name: Stable + - variant: fedora-next + name: Next steps: - uses: actions/checkout@v4 - name: Install Lima @@ -162,7 +170,7 @@ jobs: lima sudo chown "$(lima whoami)" /home/criu limactl copy -r . default:/home/criu - name: Setup VM - run: lima sudo /home/criu/scripts/ci/lima.sh fedora-rawhide-setup + run: lima sudo /home/criu/scripts/ci/lima.sh ${{ matrix.variant }}-setup - name: Reboot VM to activate new kernel run: | limactl stop default @@ -172,7 +180,7 @@ jobs: lima uname -a lima cat /proc/cmdline - name: Run tests - run: ssh -tt lima-default sudo -i /home/criu/scripts/ci/lima.sh fedora-rawhide-test + run: ssh -tt lima-default sudo -i /home/criu/scripts/ci/lima.sh ${{ matrix.variant }}-test gcov-test: needs: [alpine-test] diff --git a/scripts/ci/lima.sh b/scripts/ci/lima.sh index 3d801cb0a..f10f59892 100755 --- a/scripts/ci/lima.sh +++ b/scripts/ci/lima.sh @@ -4,8 +4,10 @@ # the Fedora Rawhide based CI tests with a vanilla kernel. # It mirrors the logic from vagrant.sh's setup() and fedora-rawhide(). # -# lima.sh fedora-rawhide-setup -# lima.sh fedora-rawhide-test +# lima.sh fedora-stable-setup +# lima.sh fedora-stable-test +# lima.sh fedora-next-setup +# lima.sh fedora-next-test set -e @@ -13,18 +15,16 @@ set -x CRIU_DIR="${CRIU_DIR:-/home/criu}" -fedora-rawhide-setup() { +_common_setup() { # Disable sssd to avoid zdtm test failures in pty04 due to sssd socket systemctl mask sssd - # Upgrade the kernel to the latest vanilla one - dnf -y copr enable @kernel-vanilla/stable # The shellcheck tool misunderstands the "do" to be from a loop # shellcheck disable=SC1010 dnf -y do --action=upgrade \* --action=install make podman } -fedora-rawhide-test() { +_common_test() { # Increase the max thread limit for the thread-bomb test sysctl -w kernel.threads-max=100000 @@ -60,4 +60,24 @@ fedora-rawhide-test() { ZDTM_OPTS="-x zdtm/static/socket-tcpbuf-local" } +fedora-stable-setup() { + # Upgrade the kernel to the latest vanilla stable one + dnf -y copr enable @kernel-vanilla/stable + _common_setup +} + +fedora-stable-test() { + _common_test +} + +fedora-next-setup() { + # Upgrade the kernel to the latest vanilla next one + dnf -y copr enable @kernel-vanilla/next + _common_setup +} + +fedora-next-test() { + _common_test +} + "$@"