mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2024-12-22 05:35:20 +00:00
build: Use binary kernel artifacts
The Linux kernel fork repository for Cloud Hypervisor now produces prebuilt x86-64 and aarch64 binaries. Speed up the CI by using those binaries. Signed-off-by: Rob Bradford <rbradford@rivosinc.com>
This commit is contained in:
parent
e47677020e
commit
a10e9e6cd5
@ -154,8 +154,8 @@ update_workloads() {
|
||||
fi
|
||||
popd || exit
|
||||
|
||||
# Build custom kernel for guest VMs
|
||||
build_custom_linux
|
||||
# Download prebuild linux binaries
|
||||
download_linux
|
||||
|
||||
# Update the kernel in the cloud image for some tests that requires recent kernel version
|
||||
FOCAL_OS_RAW_IMAGE_UPDATE_KERNEL_NAME="focal-server-cloudimg-arm64-custom-20210929-0-update-kernel.raw"
|
||||
|
@ -56,7 +56,8 @@ popd || exit
|
||||
# Build custom kernel based on virtio-pmem and virtio-fs upstream patches
|
||||
VMLINUX_IMAGE="$WORKLOADS_DIR/vmlinux"
|
||||
if [ ! -f "$VMLINUX_IMAGE" ]; then
|
||||
build_custom_linux
|
||||
# Download prebuild linux binaries
|
||||
download_linux
|
||||
fi
|
||||
|
||||
CFLAGS=""
|
||||
|
@ -44,7 +44,8 @@ if ! grep focal sha1sums-x86_64 | sha1sum --check; then
|
||||
fi
|
||||
popd || exit
|
||||
|
||||
build_custom_linux
|
||||
# Download prebuild linux binaries
|
||||
download_linux
|
||||
|
||||
CFLAGS=""
|
||||
if [[ "${BUILD_TARGET}" == "x86_64-unknown-linux-musl" ]]; then
|
||||
|
@ -102,7 +102,8 @@ popd || exit
|
||||
# Build custom kernel based on virtio-pmem and virtio-fs upstream patches
|
||||
VMLINUX_IMAGE="$WORKLOADS_DIR/vmlinux"
|
||||
if [ ! -f "$VMLINUX_IMAGE" ]; then
|
||||
build_custom_linux
|
||||
# Download prebuild linux binaries
|
||||
download_linux
|
||||
fi
|
||||
|
||||
VIRTIOFSD="$WORKLOADS_DIR/virtiofsd"
|
||||
|
@ -80,8 +80,8 @@ if [ "${TEST_ARCH}" == "aarch64" ]; then
|
||||
guestunmount "$FOCAL_OS_RAW_IMAGE_UPDATE_TOOL_ROOT_DIR"
|
||||
fi
|
||||
|
||||
# Build custom kernel based on virtio-pmem and virtio-fs upstream patches
|
||||
build_custom_linux
|
||||
# Download prebuild linux binaries
|
||||
download_linux
|
||||
|
||||
CFLAGS=""
|
||||
if [[ "${BUILD_TARGET}" == "${TEST_ARCH}-unknown-linux-musl" ]]; then
|
||||
|
@ -42,6 +42,7 @@ checkout_repo() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Not actively used by CI
|
||||
build_custom_linux() {
|
||||
ARCH=$(uname -m)
|
||||
SRCDIR=$PWD
|
||||
@ -130,6 +131,24 @@ download_hypervisor_fw() {
|
||||
popd || exit
|
||||
}
|
||||
|
||||
download_linux() {
|
||||
if [ -n "$AUTH_DOWNLOAD_TOKEN" ]; then
|
||||
echo "Using authenticated download from GitHub"
|
||||
KERNEL_URLS=$(curl --silent https://api.github.com/repos/cloud-hypervisor/linux/releases/latest \
|
||||
--header "Authorization: Token $AUTH_DOWNLOAD_TOKEN" \
|
||||
--header "X-GitHub-Api-Version: 2022-11-28" | grep "browser_download_url" | grep -o 'https://.*[^ "]')
|
||||
else
|
||||
echo "Using anonymous download from GitHub"
|
||||
KERNEL_URLS=$(curl --silent https://api.github.com/repos/cloud-hypervisor/linux/releases/latest | grep "browser_download_url" | grep -o 'https://.*[^ "]')
|
||||
fi
|
||||
pushd "$WORKLOADS_DIR" || exit
|
||||
for url in $KERNEL_URLS; do
|
||||
wget --quiet "$url" || exit 1
|
||||
done
|
||||
|
||||
popd || exit
|
||||
}
|
||||
|
||||
download_ovmf() {
|
||||
OVMF_FW_TAG="ch-6624aa331f"
|
||||
OVMF_FW_URL="https://github.com/cloud-hypervisor/edk2/releases/download/$OVMF_FW_TAG/CLOUDHV.fd"
|
||||
|
Loading…
Reference in New Issue
Block a user