Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
197 changes: 181 additions & 16 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ steps:

- label: "quark-test on fedora 28 (no bpf)"
key: test_fedora_28
command: "./.buildkite/runtest_fedora.sh 28 -k"
command: "./.buildkite/runtest_distro.sh fedora 28 -k"
depends_on:
- make_docker
agents:
Expand All @@ -51,7 +51,7 @@ steps:

- label: "quark-test on fedora 29 (no bpf)"
key: test_fedora_29
command: "./.buildkite/runtest_fedora.sh 29 -k"
command: "./.buildkite/runtest_distro.sh fedora 29 -k"
depends_on:
- make_docker
agents:
Expand All @@ -62,7 +62,7 @@ steps:

- label: "quark-test on fedora 30 (no bpf)"
key: test_fedora_30
command: "./.buildkite/runtest_fedora.sh 30 -k"
command: "./.buildkite/runtest_distro.sh fedora 30 -k"
depends_on:
- make_docker
agents:
Expand All @@ -73,7 +73,7 @@ steps:

- label: "quark-test on fedora 31 (no bpf)"
key: test_fedora_31
command: "./.buildkite/runtest_fedora.sh 31 -k"
command: "./.buildkite/runtest_distro.sh fedora 31 -k"
depends_on:
- make_docker
agents:
Expand All @@ -84,7 +84,7 @@ steps:

- label: "quark-test on fedora 32"
key: test_fedora_32
command: "./.buildkite/runtest_fedora.sh 32"
command: "./.buildkite/runtest_distro.sh fedora 32"
depends_on:
- make_docker
agents:
Expand All @@ -95,7 +95,7 @@ steps:

- label: "quark-test on fedora 33"
key: test_fedora_33
command: "./.buildkite/runtest_fedora.sh 33"
command: "./.buildkite/runtest_distro.sh fedora 33"
depends_on:
- make_docker
agents:
Expand All @@ -106,7 +106,7 @@ steps:

- label: "quark-test on fedora 34"
key: test_fedora_34
command: "./.buildkite/runtest_fedora.sh 34"
command: "./.buildkite/runtest_distro.sh fedora 34"
depends_on:
- make_docker
agents:
Expand All @@ -117,7 +117,7 @@ steps:

- label: "quark-test on fedora 35"
key: test_fedora_35
command: "./.buildkite/runtest_fedora.sh 35"
command: "./.buildkite/runtest_distro.sh fedora 35"
depends_on:
- make_docker
agents:
Expand All @@ -128,7 +128,7 @@ steps:

- label: "quark-test on fedora 36"
key: test_fedora_36
command: "./.buildkite/runtest_fedora.sh 36"
command: "./.buildkite/runtest_distro.sh fedora 36"
depends_on:
- make_docker
agents:
Expand All @@ -139,7 +139,7 @@ steps:

- label: "quark-test on fedora 37"
key: test_fedora_37
command: "./.buildkite/runtest_fedora.sh 37"
command: "./.buildkite/runtest_distro.sh fedora 37"
depends_on:
- make_docker
agents:
Expand All @@ -150,7 +150,7 @@ steps:

- label: "quark-test on fedora 38"
key: test_fedora_38
command: "./.buildkite/runtest_fedora.sh 38"
command: "./.buildkite/runtest_distro.sh fedora 38"
depends_on:
- make_docker
agents:
Expand All @@ -161,7 +161,7 @@ steps:

- label: "quark-test on fedora 39"
key: test_fedora_39
command: "./.buildkite/runtest_fedora.sh 39"
command: "./.buildkite/runtest_distro.sh fedora 39"
depends_on:
- make_docker
agents:
Expand All @@ -172,7 +172,7 @@ steps:

- label: "quark-test on fedora 40"
key: test_fedora_40
command: "./.buildkite/runtest_fedora.sh 40"
command: "./.buildkite/runtest_distro.sh fedora 40"
depends_on:
- make_docker
agents:
Expand All @@ -183,7 +183,7 @@ steps:

- label: "quark-test on fedora 41"
key: test_fedora_41
command: "./.buildkite/runtest_fedora.sh 41"
command: "./.buildkite/runtest_distro.sh fedora 41"
depends_on:
- make_docker
agents:
Expand All @@ -192,9 +192,174 @@ steps:
machineType: n2-standard-2
enableNestedVirtualization: true

- label: "quark-test on fedora 42(beta)"
- label: "quark-test on fedora 42 (beta)"
key: test_fedora_42
command: "./.buildkite/runtest_fedora.sh 42"
command: "./.buildkite/runtest_distro.sh fedora 42"
depends_on:
- make_docker
agents:
image: family/core-ubuntu-2204
provider: gcp
machineType: n2-standard-2
enableNestedVirtualization: true

- label: "quark-test on rhel 8"
key: test_rhel_8
command: "./.buildkite/runtest_distro.sh rhel 8"
depends_on:
- make_docker
agents:
image: family/core-ubuntu-2204
provider: gcp
machineType: n2-standard-2
enableNestedVirtualization: true

- label: "quark-test on rhel 8.3 (no bpf)"
key: test_rhel_8_3
command: "./.buildkite/runtest_distro.sh rhel 8.3 -k"
depends_on:
- make_docker
agents:
image: family/core-ubuntu-2204
provider: gcp
machineType: n2-standard-2
enableNestedVirtualization: true

- label: "quark-test on rhel 8.4 (no bpf)"
key: test_rhel_8_4
command: "./.buildkite/runtest_distro.sh rhel 8.4 -k"
depends_on:
- make_docker
agents:
image: family/core-ubuntu-2204
provider: gcp
machineType: n2-standard-2
enableNestedVirtualization: true

- label: "quark-test on rhel 8.5"
key: test_rhel_8_5
command: "./.buildkite/runtest_distro.sh rhel 8.5"
depends_on:
- make_docker
agents:
image: family/core-ubuntu-2204
provider: gcp
machineType: n2-standard-2
enableNestedVirtualization: true

- label: "quark-test on rhel 8.6"
key: test_rhel_8_6
command: "./.buildkite/runtest_distro.sh rhel 8.6"
depends_on:
- make_docker
agents:
image: family/core-ubuntu-2204
provider: gcp
machineType: n2-standard-2
enableNestedVirtualization: true

- label: "quark-test on rhel 8.7"
key: test_rhel_8_7
command: "./.buildkite/runtest_distro.sh rhel 8.7"
depends_on:
- make_docker
agents:
image: family/core-ubuntu-2204
provider: gcp
machineType: n2-standard-2
enableNestedVirtualization: true

- label: "quark-test on rhel 8.8"
key: test_rhel_8_8
command: "./.buildkite/runtest_distro.sh rhel 8.8"
depends_on:
- make_docker
agents:
image: family/core-ubuntu-2204
provider: gcp
machineType: n2-standard-2
enableNestedVirtualization: true

- label: "quark-test on rhel 8.9"
key: test_rhel_8_9
command: "./.buildkite/runtest_distro.sh rhel 8.9"
depends_on:
- make_docker
agents:
image: family/core-ubuntu-2204
provider: gcp
machineType: n2-standard-2
enableNestedVirtualization: true

- label: "quark-test on rhel 9"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what the difference between this and rhel 9.0? perhaps the script will show me.

Copy link
Collaborator Author

@haesbaert haesbaert Apr 9, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

9 is the current 9 mainline, 9.0 is the original 9.0 release.
5.14.0-503.35.1.el9_5.x86_64
vs
5.14.0-70.30.1.el9_0.x86_64

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ooops, just realized the URL for 8.x and 9.x was incorrect :(
812325c

key: test_rhel_9
command: "./.buildkite/runtest_distro.sh rhel 9"
depends_on:
- make_docker
agents:
image: family/core-ubuntu-2204
provider: gcp
machineType: n2-standard-2
enableNestedVirtualization: true

- label: "quark-test on rhel 9.0"
key: test_rhel_9_0
command: "./.buildkite/runtest_distro.sh rhel 9.0"
depends_on:
- make_docker
agents:
image: family/core-ubuntu-2204
provider: gcp
machineType: n2-standard-2
enableNestedVirtualization: true

- label: "quark-test on rhel 9.1"
key: test_rhel_9_1
command: "./.buildkite/runtest_distro.sh rhel 9.1"
depends_on:
- make_docker
agents:
image: family/core-ubuntu-2204
provider: gcp
machineType: n2-standard-2
enableNestedVirtualization: true

- label: "quark-test on rhel 9.2"
key: test_rhel_9_2
command: "./.buildkite/runtest_distro.sh rhel 9.2"
depends_on:
- make_docker
agents:
image: family/core-ubuntu-2204
provider: gcp
machineType: n2-standard-2
enableNestedVirtualization: true

- label: "quark-test on rhel 9.3"
key: test_rhel_9_3
command: "./.buildkite/runtest_distro.sh rhel 9.3"
depends_on:
- make_docker
agents:
image: family/core-ubuntu-2204
provider: gcp
machineType: n2-standard-2
enableNestedVirtualization: true

- label: "quark-test on rhel 9.4"
key: test_rhel_9_4
command: "./.buildkite/runtest_distro.sh rhel 9.4"
depends_on:
- make_docker
agents:
image: family/core-ubuntu-2204
provider: gcp
machineType: n2-standard-2
enableNestedVirtualization: true

- label: "quark-test on rhel 9.5"
key: test_rhel_9_5
command: "./.buildkite/runtest_distro.sh rhel 9.5"
depends_on:
- make_docker
agents:
Expand Down
14 changes: 8 additions & 6 deletions .buildkite/runtest_fedora.sh → .buildkite/runtest_distro.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@

set -euo pipefail

FEDORAVER="$1"
shift
DISTRO="$1"
DISTROVER="$2"
shift 2

function download {
buildkite-agent artifact download "$1" "$2"
Expand Down Expand Up @@ -32,7 +33,8 @@ sudo apt-get -qq install -y --no-install-recommends \
# Make sure we can run things on KVM
sudo kvm-ok

# Run Forrest Run
sudo ./krun-fedora.sh initramfs.gz $FEDORAVER quark-test $@

exit $?
case "$DISTRO" in
fedora) sudo ./krun-fedora.sh initramfs.gz "$DISTROVER" quark-test $@;;
rhel) sudo ./krun-rhel.sh initramfs.gz "$DISTROVER" quark-test $@;;
*) echo bad distribution "$DISTROVER" 1>&2;;
esac
6 changes: 3 additions & 3 deletions krun-fedora.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ shift 2

case $FEDORAVER in
2?|3?) URL="https://archives.fedoraproject.org/pub/archive/fedora/linux/updates/$FEDORAVER/Everything/x86_64/Packages/k";;
42|rawhide) URL="http://ftp.fau.de/fedora/linux/development/$FEDORAVER/Everything/x86_64/os/Packages/k";;
4?) URL="http://ftp.fau.de/fedora/linux/updates/$FEDORAVER/Everything/x86_64/Packages/k";;
*) echo bad version "$FEDORAVER" 1>&2
42|rawhide) URL="https://ftp.fau.de/fedora/linux/development/$FEDORAVER/Everything/x86_64/os/Packages/k";;
4?) URL="https://ftp.fau.de/fedora/linux/updates/$FEDORAVER/Everything/x86_64/Packages/k";;
*) echo bad version "$FEDORAVER" 1>&2;;
esac

TMPDIR=$(mktemp -d "/tmp/$SCRIPT.XXXXXXXXXX")
Expand Down
47 changes: 47 additions & 0 deletions krun-rhel.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#!/bin/bash

set -euo pipefail

SCRIPT=${0##*/}

function usage
{
echo "usage: $SCRIPT initramfs.gz RHELVER command" 1>&2
exit 1
}

if [ $# -lt 3 ]; then
usage
fi

INITRAMFS="$1"
RHELVER="$2"
shift 2

case $RHELVER in
8|9) URL="https://ftp.fau.de/rockylinux/$RHELVER/BaseOS/x86_64/os/Packages/k";;
8.[34]) URL="https://dl.rockylinux.org/vault/rocky/$RHELVER/BaseOS/x86_64/os/Packages";;
8.?|9.?) URL="https://dl.rockylinux.org/vault/rocky/$RHELVER/BaseOS/x86_64/os/Packages/k";;
*) echo bad version "$RHELVER" 1>&2;;
esac

TMPDIR=$(mktemp -d "/tmp/$SCRIPT.XXXXXXXXXX")
trap 'rm -rf "$TMPDIR"' EXIT

RPMURL=$(lynx -dump -listonly "$URL"|grep kernel-core)
RPMURL=${RPMURL##* }
RPM=$(basename "$RPMURL")
VMLINUZ=${RPM##kernel-core-}
VMLINUZ=${VMLINUZ%%.rpm}
VMLINUZ=$TMPDIR/lib/modules/$VMLINUZ/vmlinuz

# echo URL $URL
# echo RPMURL $RPMURL
# echo RPM $RPM
# echo VMLINUZ $VMLINUZ

cd "$TMPDIR"
curl -s "$RPMURL" | rpm2cpio - | cpio -idm
cd -

./krun.sh "$INITRAMFS" "$VMLINUZ" "$@"