mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-06-28 08:17:37 +00:00
ci: cache: Use the cached artefacts from ORAS
In the previous series related to the artefacts we build, we've switching from storing the artefacts on Jenkins, to storing those in the ghcr.io/kata-containers/cached-artefacts/${artefact_name}. Now, let's take advantage of that and actually use the artefacts coming from that "package" (as GitHub calls it). NOTE: One thing that I've noticed that we're missing, is storing and checking the sha256sum of the artefact. The storing part will be done in a different commit, and the checking the sha256sum will be done in a different PR, as we need to ensure those were pushed to the registry before actually taking the bullet to check for them. Fixes: #7834 -- part 2 Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
This commit is contained in:
parent
6f30d00ae7
commit
eccc76df63
@ -35,16 +35,13 @@ readonly nydus_builder="${static_build_dir}/nydus/build.sh"
|
|||||||
|
|
||||||
readonly rootfs_builder="${repo_root_dir}/tools/packaging/guest-image/build_image.sh"
|
readonly rootfs_builder="${repo_root_dir}/tools/packaging/guest-image/build_image.sh"
|
||||||
|
|
||||||
readonly jenkins_url="http://jenkins.katacontainers.io"
|
|
||||||
readonly cached_artifacts_path="lastSuccessfulBuild/artifact/artifacts"
|
|
||||||
|
|
||||||
ARCH=${ARCH:-$(uname -m)}
|
ARCH=${ARCH:-$(uname -m)}
|
||||||
MEASURED_ROOTFS=${MEASURED_ROOTFS:-no}
|
MEASURED_ROOTFS=${MEASURED_ROOTFS:-no}
|
||||||
USE_CACHE="${USE_CACHE:-"yes"}"
|
USE_CACHE="${USE_CACHE:-"yes"}"
|
||||||
ARTEFACT_REGISTRY="${ARTEFACT_REGISTRY:-}"
|
ARTEFACT_REGISTRY="${ARTEFACT_REGISTRY:-ghcr.io}"
|
||||||
ARTEFACT_REGISTRY_USERNAME="${ARTEFACT_REGISTRY_USERNAME:-}"
|
ARTEFACT_REGISTRY_USERNAME="${ARTEFACT_REGISTRY_USERNAME:-}"
|
||||||
ARTEFACT_REGISTRY_PASSWORD="${ARTEFACT_REGISTRY_PASSWORD:-}"
|
ARTEFACT_REGISTRY_PASSWORD="${ARTEFACT_REGISTRY_PASSWORD:-}"
|
||||||
TARGET_BRANCH="${TARGET_BRANCH:=}"
|
TARGET_BRANCH="${TARGET_BRANCH:-main}"
|
||||||
PUSH_TO_REGISTRY="${PUSH_TO_REGISTRY:-}"
|
PUSH_TO_REGISTRY="${PUSH_TO_REGISTRY:-}"
|
||||||
|
|
||||||
workdir="${WORKDIR:-$PWD}"
|
workdir="${WORKDIR:-$PWD}"
|
||||||
@ -114,35 +111,29 @@ EOF
|
|||||||
exit "${return_code}"
|
exit "${return_code}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
cleanup_and_fail() {
|
|
||||||
rm -f "${component_tarball_path}"
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
install_cached_tarball_component() {
|
install_cached_tarball_component() {
|
||||||
if [ "${USE_CACHE}" != "yes" ]; then
|
if [ "${USE_CACHE}" != "yes" ]; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local component="${1}"
|
local component="${1}"
|
||||||
local jenkins_build_url="${2}"
|
local current_version="${2}"
|
||||||
local current_version="${3}"
|
local current_image_version="${3}"
|
||||||
local current_image_version="${4}"
|
local component_tarball_name="${4}"
|
||||||
local component_tarball_name="${5}"
|
local component_tarball_path="${5}"
|
||||||
local component_tarball_path="${6}"
|
|
||||||
|
|
||||||
local cached_version=$(curl -sfL "${jenkins_build_url}/latest" | awk '{print $1}') || cached_version="none"
|
oras pull ${ARTEFACT_REGISTRY}/kata-containers/cached-artefacts/${build_target}:latest-${TARGET_BRANCH}-$(uname -m)
|
||||||
local cached_image_version=$(curl -sfL "${jenkins_build_url}/latest_image" | awk '{print $1}') || cached_image_version="none"
|
|
||||||
|
cached_version="$(cat ${component}-version)"
|
||||||
|
cached_image_version="$(cat ${component}-builder-image-version)"
|
||||||
|
|
||||||
|
rm -f ${component}-version
|
||||||
|
rm -f ${component}-builder-image-version
|
||||||
|
|
||||||
[ "${cached_image_version}" != "${current_image_version}" ] && return 1
|
[ "${cached_image_version}" != "${current_image_version}" ] && return 1
|
||||||
[ "${cached_version}" != "${current_version}" ] && return 1
|
[ "${cached_version}" != "${current_version}" ] && return 1
|
||||||
|
|
||||||
info "Using cached tarball of ${component}"
|
info "Using cached tarball of ${component}"
|
||||||
echo "Downloading tarball from: ${jenkins_build_url}/${component_tarball_name}"
|
|
||||||
wget "${jenkins_build_url}/${component_tarball_name}" || return $(cleanup_and_fail)
|
|
||||||
wget "${jenkins_build_url}/sha256sum-${component_tarball_name}" || return $(cleanup_and_fail)
|
|
||||||
sha256sum -c "sha256sum-${component_tarball_name}" || return $(cleanup_and_fail)
|
|
||||||
mv "${component_tarball_name}" "${component_tarball_path}"
|
mv "${component_tarball_name}" "${component_tarball_path}"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -155,7 +146,6 @@ install_image() {
|
|||||||
image_type+="-${variant}"
|
image_type+="-${variant}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local jenkins="${jenkins_url}/job/kata-containers-main-rootfs-${image_type}-${ARCH}/${cached_artifacts_path}"
|
|
||||||
local component="rootfs-${image_type}"
|
local component="rootfs-${image_type}"
|
||||||
|
|
||||||
local osbuilder_last_commit="$(get_last_modification "${repo_root_dir}/tools/osbuilder")"
|
local osbuilder_last_commit="$(get_last_modification "${repo_root_dir}/tools/osbuilder")"
|
||||||
@ -171,7 +161,6 @@ install_image() {
|
|||||||
|
|
||||||
install_cached_tarball_component \
|
install_cached_tarball_component \
|
||||||
"${component}" \
|
"${component}" \
|
||||||
"${jenkins}" \
|
|
||||||
"${latest_artefact}" \
|
"${latest_artefact}" \
|
||||||
"${latest_builder_image}" \
|
"${latest_builder_image}" \
|
||||||
"${final_tarball_name}" \
|
"${final_tarball_name}" \
|
||||||
@ -206,7 +195,6 @@ install_initrd() {
|
|||||||
initrd_type+="-${variant}"
|
initrd_type+="-${variant}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local jenkins="${jenkins_url}/job/kata-containers-main-rootfs-${initrd_type}-${ARCH}/${cached_artifacts_path}"
|
|
||||||
local component="rootfs-${initrd_type}"
|
local component="rootfs-${initrd_type}"
|
||||||
|
|
||||||
local osbuilder_last_commit="$(get_last_modification "${repo_root_dir}/tools/osbuilder")"
|
local osbuilder_last_commit="$(get_last_modification "${repo_root_dir}/tools/osbuilder")"
|
||||||
@ -224,7 +212,6 @@ install_initrd() {
|
|||||||
|
|
||||||
install_cached_tarball_component \
|
install_cached_tarball_component \
|
||||||
"${component}" \
|
"${component}" \
|
||||||
"${jenkins}" \
|
|
||||||
"${latest_artefact}" \
|
"${latest_artefact}" \
|
||||||
"${latest_builder_image}" \
|
"${latest_builder_image}" \
|
||||||
"${final_tarball_name}" \
|
"${final_tarball_name}" \
|
||||||
@ -266,7 +253,6 @@ install_cached_kernel_tarball_component() {
|
|||||||
|
|
||||||
install_cached_tarball_component \
|
install_cached_tarball_component \
|
||||||
"${kernel_name}" \
|
"${kernel_name}" \
|
||||||
"${jenkins_url}/job/kata-containers-main-${kernel_name}-${ARCH}/${cached_artifacts_path}" \
|
|
||||||
"${latest_artefact}" \
|
"${latest_artefact}" \
|
||||||
"${latest_builder_image}" \
|
"${latest_builder_image}" \
|
||||||
"${final_tarball_name}" \
|
"${final_tarball_name}" \
|
||||||
@ -280,7 +266,6 @@ install_cached_kernel_tarball_component() {
|
|||||||
# SEV specific code path
|
# SEV specific code path
|
||||||
install_cached_tarball_component \
|
install_cached_tarball_component \
|
||||||
"${kernel_name}" \
|
"${kernel_name}" \
|
||||||
"${jenkins_url}/job/kata-containers-main-${kernel_name}-$(uname -m)/${cached_artifacts_path}" \
|
|
||||||
"${latest_artefact}" \
|
"${latest_artefact}" \
|
||||||
"${latest_builder_image}" \
|
"${latest_builder_image}" \
|
||||||
"kata-static-kernel-sev-modules.tar.xz" \
|
"kata-static-kernel-sev-modules.tar.xz" \
|
||||||
@ -406,7 +391,6 @@ install_qemu_helper() {
|
|||||||
|
|
||||||
install_cached_tarball_component \
|
install_cached_tarball_component \
|
||||||
"${qemu_name}" \
|
"${qemu_name}" \
|
||||||
"${jenkins_url}/job/kata-containers-main-${qemu_name}-${ARCH}/${cached_artifacts_path}" \
|
|
||||||
"${latest_artefact}" \
|
"${latest_artefact}" \
|
||||||
"${latest_builder_image}" \
|
"${latest_builder_image}" \
|
||||||
"${final_tarball_name}" \
|
"${final_tarball_name}" \
|
||||||
@ -458,7 +442,6 @@ install_firecracker() {
|
|||||||
|
|
||||||
install_cached_tarball_component \
|
install_cached_tarball_component \
|
||||||
"firecracker" \
|
"firecracker" \
|
||||||
"${jenkins_url}/job/kata-containers-main-firecracker-$(uname -m)/${cached_artifacts_path}" \
|
|
||||||
"${latest_artefact}" \
|
"${latest_artefact}" \
|
||||||
"${latest_builder_image}" \
|
"${latest_builder_image}" \
|
||||||
"${final_tarball_name}" \
|
"${final_tarball_name}" \
|
||||||
@ -483,7 +466,6 @@ install_clh_helper() {
|
|||||||
|
|
||||||
install_cached_tarball_component \
|
install_cached_tarball_component \
|
||||||
"cloud-hypervisor${suffix}" \
|
"cloud-hypervisor${suffix}" \
|
||||||
"${jenkins_url}/job/kata-containers-main-clh-$(uname -m)${suffix}/${cached_artifacts_path}" \
|
|
||||||
"${latest_artefact}" \
|
"${latest_artefact}" \
|
||||||
"${latest_builder_image}" \
|
"${latest_builder_image}" \
|
||||||
"${final_tarball_name}" \
|
"${final_tarball_name}" \
|
||||||
@ -526,7 +508,6 @@ install_virtiofsd() {
|
|||||||
|
|
||||||
install_cached_tarball_component \
|
install_cached_tarball_component \
|
||||||
"virtiofsd" \
|
"virtiofsd" \
|
||||||
"${jenkins_url}/job/kata-containers-main-virtiofsd-${ARCH}/${cached_artifacts_path}" \
|
|
||||||
"${latest_artefact}" \
|
"${latest_artefact}" \
|
||||||
"${latest_builder_image}" \
|
"${latest_builder_image}" \
|
||||||
"${final_tarball_name}" \
|
"${final_tarball_name}" \
|
||||||
@ -549,7 +530,6 @@ install_nydus() {
|
|||||||
|
|
||||||
install_cached_tarball_component \
|
install_cached_tarball_component \
|
||||||
"nydus" \
|
"nydus" \
|
||||||
"${jenkins_url}/job/kata-containers-main-nydus-$(uname -m)/${cached_artifacts_path}" \
|
|
||||||
"${latest_artefact}" \
|
"${latest_artefact}" \
|
||||||
"${latest_builder_image}" \
|
"${latest_builder_image}" \
|
||||||
"${final_tarball_name}" \
|
"${final_tarball_name}" \
|
||||||
@ -578,7 +558,6 @@ install_shimv2() {
|
|||||||
|
|
||||||
install_cached_tarball_component \
|
install_cached_tarball_component \
|
||||||
"shim-v2" \
|
"shim-v2" \
|
||||||
"${jenkins_url}/job/kata-containers-main-shim-v2-${ARCH}/${cached_artifacts_path}" \
|
|
||||||
"${latest_artefact}" \
|
"${latest_artefact}" \
|
||||||
"${latest_builder_image}" \
|
"${latest_builder_image}" \
|
||||||
"${final_tarball_name}" \
|
"${final_tarball_name}" \
|
||||||
@ -614,7 +593,6 @@ install_ovmf() {
|
|||||||
|
|
||||||
install_cached_tarball_component \
|
install_cached_tarball_component \
|
||||||
"${component_name}" \
|
"${component_name}" \
|
||||||
"${jenkins_url}/job/kata-containers-main-ovmf-${ovmf_type}-$(uname -m)/${cached_artifacts_path}" \
|
|
||||||
"${latest_artefact}" \
|
"${latest_artefact}" \
|
||||||
"${latest_builder_image}" \
|
"${latest_builder_image}" \
|
||||||
"${final_tarball_name}" \
|
"${final_tarball_name}" \
|
||||||
|
Loading…
Reference in New Issue
Block a user