diff --git a/build-selftests/build_selftests.sh b/build-selftests/build_selftests.sh index fa07bcfb..936a5949 100755 --- a/build-selftests/build_selftests.sh +++ b/build-selftests/build_selftests.sh @@ -33,7 +33,7 @@ fi foldable start build_selftests "Building selftests with $TOOLCHAIN" -MAKE_OPTS=$(cat < MAX_MAKE_JOBS ? MAX_MAKE_JOBS : smp )) } diff --git a/run-vmtest/install-dependencies.sh b/run-vmtest/install-dependencies.sh index 7779496c..5d081198 100755 --- a/run-vmtest/install-dependencies.sh +++ b/run-vmtest/install-dependencies.sh @@ -10,7 +10,18 @@ sudo chmod 755 /usr/bin/vmtest sudo apt-get update -y sudo -E apt-get install --no-install-recommends -y \ binutils cpu-checker ethtool gawk iproute2 iptables iputils-ping \ - keyutils libpcap-dev llvm-dev libz3-4 make zlib1g + keyutils libasan8 libpcap-dev libz3-4 make zlib1g sudo -E apt-get install --no-install-recommends -y \ qemu-guest-agent qemu-kvm qemu-system-arm qemu-system-s390x qemu-system-x86 qemu-utils + +# Install specific version of libllvm on Ubuntu +source /etc/os-release +if [[ "$ID" == "ubuntu" ]]; then + wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | sudo tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc + CODENAME=$(lsb_release -cs) + echo "deb http://apt.llvm.org/${CODENAME}/ llvm-toolchain-${CODENAME}-${LLVM_VERSION} main" | \ + sudo tee /etc/apt/sources.list.d/llvm-${LLVM_VERSION}.list + sudo apt-get update -y + sudo apt-get install --no-install-recommends -y libllvm${LLVM_VERSION} +fi diff --git a/run-vmtest/prepare-bpf-selftests.sh b/run-vmtest/prepare-bpf-selftests.sh index fb9b8466..4470223d 100755 --- a/run-vmtest/prepare-bpf-selftests.sh +++ b/run-vmtest/prepare-bpf-selftests.sh @@ -1,6 +1,6 @@ #!/bin/bash -set -euo pipefail +set -xeuo pipefail if [[ -z "${SELFTESTS_BPF_ALLOWLIST_FILES:-}" && -z "${SELFTESTS_BPF_DENYLIST_FILES:-}" ]]; then exit 0 diff --git a/run-vmtest/run-bpf-selftests.sh b/run-vmtest/run-bpf-selftests.sh index e7fb2a94..9941e5bd 100755 --- a/run-vmtest/run-bpf-selftests.sh +++ b/run-vmtest/run-bpf-selftests.sh @@ -12,13 +12,14 @@ # Runners passed as arguments are executed. In case of no arguments, # all test runners are executed. -set -euo pipefail +set -xeuo pipefail source "$(cd "$(dirname "$0")" && pwd)/helpers.sh" ARCH=$(uname -m) export SELFTESTS_BPF=${SELFTESTS_BPF:-/mnt/vmtest/selftests/bpf} +export BPFTOOL=$(find $(realpath "$SELFTESTS_BPF/tools/sbin") -type f -name bpftool) STATUS_FILE=${STATUS_FILE:-/mnt/vmtest/exitstatus} OUTPUT_DIR=${OUTPUT_DIR:-/mnt/vmtest} diff --git a/run-vmtest/run.sh b/run-vmtest/run.sh index f92f9649..1cdfb6a2 100755 --- a/run-vmtest/run.sh +++ b/run-vmtest/run.sh @@ -1,11 +1,12 @@ #!/bin/bash -set -euo pipefail +set -xeuo pipefail trap 'exit 2' ERR source "${GITHUB_ACTION_PATH}/../helpers.sh" export ARCH=${ARCH:-$(uname -m)} +export KERNEL=${KERNEL:-"LATEST"} export VMLINUZ=${VMLINUZ:-} if [[ ! -f "${VMLINUZ}" ]]; then @@ -112,6 +113,7 @@ cat $VMTEST_TOML foldable end vmtest_toml vmtest -c $VMTEST_TOML +rm -f $VMTEST_TOML # fixup traffic montioring log paths if present PCAP_DIR=/tmp/tmon_pcap diff --git a/setup-build-env/install_packages.sh b/setup-build-env/install_packages.sh index 98004bc9..56cd8c5b 100755 --- a/setup-build-env/install_packages.sh +++ b/setup-build-env/install_packages.sh @@ -42,9 +42,9 @@ sudo -E apt-get install --no-install-recommends -y \ python3-docutils python3-minimal rsync sudo texinfo tree \ tzdata wget xxd xz-utils zstd -sudo -E apt-get install --no-install-recommends -y \ - binutils-dev libcap-dev libdw-dev libelf-dev libpcap-dev \ - libssl-dev libzstd-dev ncurses-dev +sudo -E apt-get install --no-install-recommends -y \ + binutils-dev libasan8 libcap-dev libdw-dev libelf-dev \ + libpcap-dev libssl-dev libzstd-dev ncurses-dev sudo -E apt-get install --no-install-recommends -y \ qemu-guest-agent qemu-kvm qemu-system-arm qemu-system-s390x \ diff --git a/tar-artifacts/tar-artifacts.sh b/tar-artifacts/tar-artifacts.sh index 9167f194..92d37b5c 100755 --- a/tar-artifacts/tar-artifacts.sh +++ b/tar-artifacts/tar-artifacts.sh @@ -16,6 +16,7 @@ zst_tarball="$1" arch="${ARCH}" ARCHIVE_BPF_SELFTESTS="${ARCHIVE_BPF_SELFTESTS:-true}" +ARCHIVE_KBUILD_OUTPUT="${ARCHIVE_KBUILD_OUTPUT:-true}" ARCHIVE_MAKE_HELPERS="${ARCHIVE_MAKE_HELPERS:-}" ARCHIVE_SCHED_EXT_SELFTESTS="${ARCHIVE_SCHED_EXT_SELFTESTS:-}" @@ -40,18 +41,20 @@ function push_to_kout_list() { fi } -cd "${KBUILD_OUTPUT}" -push_to_kout_list "Module.symvers" -push_to_kout_list "scripts/" -push_to_kout_list "tools/objtool/" -for dir in $(find . -type d -name "include"); do - push_to_kout_list "${dir}/" -done -cd - - -tar -rf "${tarball}" -C "${KBUILD_OUTPUT}" \ - --transform "s,^,kbuild-output/," \ - "${kbuild_output_file_list[@]}" +if [[ -n "${ARCHIVE_KBUILD_OUTPUT}" ]]; then + cd "${KBUILD_OUTPUT}" + push_to_kout_list "Module.symvers" + push_to_kout_list "scripts/" + push_to_kout_list "tools/objtool/" + for dir in $(find . -type d -name "include"); do + push_to_kout_list "${dir}/" + done + cd - + + tar -rf "${tarball}" -C "${KBUILD_OUTPUT}" \ + --transform "s,^,kbuild-output/," \ + "${kbuild_output_file_list[@]}" +fi # In case artifacts are restored not to the kernel repo root, # package up a bunch of additional infrastructure to support running