mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-08-25 11:13:15 +00:00
packaging: Add functions to generate component's image name
Let's do this as the component name will be re-used later on, when we start checking whether a cached component needs to be rebuilt or not. Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
This commit is contained in:
parent
02f6af9e1e
commit
8a4e771144
@ -123,12 +123,11 @@ get_config_version() {
|
||||
fi
|
||||
}
|
||||
|
||||
# $1 - Repo's root dir
|
||||
# $2 - The file we're looking for the last modification
|
||||
# $1 - The file we're looking for the last modification
|
||||
get_last_modification() {
|
||||
local repo_root_dir="${1}"
|
||||
local file="${2}"
|
||||
local file="${1}"
|
||||
|
||||
pushd ${repo_root_dir} &> /dev/null
|
||||
# This is a workaround needed for when running this code on Jenkins
|
||||
git config --global --add safe.directory ${repo_root_dir} &> /dev/null
|
||||
|
||||
@ -136,6 +135,7 @@ get_last_modification() {
|
||||
[ $(git status --porcelain | grep "${file#${repo_root_dir}/}" | wc -l) -gt 0 ] && dirty="-dirty"
|
||||
|
||||
echo "$(git log -1 --pretty=format:"%H" ${file})${dirty}"
|
||||
popd &> /dev/null
|
||||
}
|
||||
|
||||
# $1 - The tag to be pushed to the registry
|
||||
@ -188,3 +188,54 @@ calc_qemu_files_sha256sum() {
|
||||
|
||||
sha256sum_from_files "$files"
|
||||
}
|
||||
|
||||
get_initramfs_image_name() {
|
||||
initramfs_script_dir="${this_script_dir}/../static-build/initramfs"
|
||||
echo "${CC_BUILDER_REGISTRY}:initramfs-cryptosetup$(get_from_kata_deps "externals.cryptsetup.version")-lvm2-$(get_from_kata_deps "externals.lvm2.version")-$(get_last_modification ${initramfs_script_dir})-$(uname -m)"
|
||||
}
|
||||
|
||||
get_kernel_image_name() {
|
||||
kernel_script_dir="${this_script_dir}/../static-build/kernel"
|
||||
echo "${CC_BUILDER_REGISTRY}:kernel-$(get_last_modification ${kernel_script_dir})-$(uname -m)"
|
||||
}
|
||||
|
||||
get_ovmf_image_name() {
|
||||
ovmf_script_dir="${this_script_dir}/../static-build/ovmf"
|
||||
echo "${CC_BUILDER_REGISTRY}:ovmf-$(get_last_modification ${ovmf_script_dir})-$(uname -m)"
|
||||
}
|
||||
|
||||
get_qemu_image_name() {
|
||||
qemu_script_dir="${this_script_dir}/../static-build/qemu"
|
||||
echo "${CC_BUILDER_REGISTRY}:qemu-$(get_last_modification ${qemu_script_dir})-$(uname -m)"
|
||||
}
|
||||
|
||||
get_shim_v2_image_name() {
|
||||
shim_v2_script_dir="${this_script_dir}/../static-build/shim-v2"
|
||||
echo "${CC_BUILDER_REGISTRY}:shim-v2-go-$(get_from_kata_deps "languages.golang.meta.newest-version")-rust-$(get_from_kata_deps "languages.rust.meta.newest-version")-$(get_last_modification ${shim_v2_script_dir})-$(uname -m)"
|
||||
}
|
||||
|
||||
get_td_shim_image_name() {
|
||||
td_shim_script_dir="${this_script_dir}/../static-build/td-shim"
|
||||
echo "${CC_BUILDER_REGISTRY}:td-shim-$(get_last_modification ${td_shim_script_dir})-$(uname -m)"
|
||||
}
|
||||
|
||||
get_virtiofsd_image_name() {
|
||||
ARCH=$(uname -m)
|
||||
case ${ARCH} in
|
||||
"aarch64")
|
||||
libc="musl"
|
||||
;;
|
||||
"ppc64le")
|
||||
libc="gnu"
|
||||
;;
|
||||
"s390x")
|
||||
libc="gnu"
|
||||
;;
|
||||
"x86_64")
|
||||
libc="musl"
|
||||
;;
|
||||
esac
|
||||
|
||||
virtiofsd_script_dir="${this_script_dir}/../static-build/virtiofsd"
|
||||
echo "${CC_BUILDER_REGISTRY}:virtiofsd-$(get_from_kata_deps "externals.virtiofsd.toolchain")-${libc}-$(get_last_modification ${virtiofsd_script_dir})-$(uname -m)"
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ package_output_dir="${package_output_dir:-}"
|
||||
[ -n "${lvm2_repo}" ] || die "Failed to get lvm2 repo"
|
||||
[ -n "${lvm2_version}" ] || die "Failed to get lvm2 version"
|
||||
|
||||
container_image="${INITRAMFS_CONTAINER_BUILDER:-${CC_BUILDER_REGISTRY}:initramfs-cryptsetup-${cryptsetup_version}-lvm2-${lvm2_version}-$(get_last_modification ${repo_root_dir} ${script_dir})-$(uname -m)}"
|
||||
container_image="${INITRAMFS_CONTAINER_BUILDER:-$(get_initramfs_image_name)}"
|
||||
|
||||
sudo docker pull ${container_image} || (sudo docker build \
|
||||
--build-arg cryptsetup_repo="${cryptsetup_repo}" \
|
||||
|
@ -16,7 +16,7 @@ readonly kernel_builder="${repo_root_dir}/tools/packaging/kernel/build-kernel.sh
|
||||
|
||||
DESTDIR=${DESTDIR:-${PWD}}
|
||||
PREFIX=${PREFIX:-/opt/kata}
|
||||
container_image="${KERNEL_CONTAINER_BUILDER:-${CC_BUILDER_REGISTRY}:kernel-$(get_last_modification ${repo_root_dir} ${script_dir})-$(uname -m)}"
|
||||
container_image="${KERNEL_CONTAINER_BUILDER:-$(get_kernel_image_name)}"
|
||||
kernel_latest_build_url="${jenkins_url}/job/kata-containers-2.0-kernel-cc-$(uname -m)/${cached_artifacts_path}"
|
||||
current_kernel_version=${kernel_version:-$(get_from_kata_deps "assets.kernel.version")}
|
||||
cached_path="$(echo ${script_dir} | sed 's,/*[^/]\+/*$,,' | sed 's,/*[^/]\+/*$,,' | sed 's,/*[^/]\+/*$,,' | sed 's,/*[^/]\+/*$,,')"
|
||||
|
@ -15,7 +15,7 @@ source "${script_dir}/../../scripts/lib.sh"
|
||||
|
||||
DESTDIR=${DESTDIR:-${PWD}}
|
||||
PREFIX=${PREFIX:-/opt/kata}
|
||||
container_image="${OVMF_CONTAINER_BUILDER:-${CC_BUILDER_REGISTRY}:ovmf-$(get_last_modification ${repo_root_dir} ${script_dir})-$(uname -m)}"
|
||||
container_image="${OVMF_CONTAINER_BUILDER:-$(get_ovmf_image_name)}"
|
||||
ovmf_build="${ovmf_build:-x86_64}"
|
||||
kata_version="${kata_version:-}"
|
||||
ovmf_repo="${ovmf_repo:-}"
|
||||
|
@ -38,7 +38,7 @@ CACHE_TIMEOUT=$(date +"%Y-%m-%d")
|
||||
[ -n "${build_suffix}" ] && HYPERVISOR_NAME="kata-qemu-${build_suffix}" || HYPERVISOR_NAME="kata-qemu"
|
||||
[ -n "${build_suffix}" ] && PKGVERSION="kata-static-${build_suffix}" || PKGVERSION="kata-static"
|
||||
|
||||
container_image="${QEMU_CONTAINER_BUILDER:-${CC_BUILDER_REGISTRY}:qemu-$(get_last_modification ${repo_root_dir} ${script_dir})-$(uname -m)}"
|
||||
container_image="${QEMU_CONTAINER_BUILDER:-$(get_qemu_image_name)}"
|
||||
|
||||
sudo docker pull ${container_image} || \
|
||||
(sudo "${container_engine}" build \
|
||||
|
@ -19,7 +19,7 @@ RUST_VERSION=${RUST_VERSION:-}
|
||||
|
||||
DESTDIR=${DESTDIR:-${PWD}}
|
||||
PREFIX=${PREFIX:-/opt/kata}
|
||||
container_image="${SHIM_V2_CONTAINER_BUILDER:-${CC_BUILDER_REGISTRY}:shim-v2-go-${GO_VERSION}-rust-${RUST_VERSION}-$(get_last_modification ${repo_root_dir} ${script_dir})-$(uname -m)}"
|
||||
container_image="${SHIM_V2_CONTAINER_BUILDER:-$(get_shim_v2_image_name)}"
|
||||
|
||||
EXTRA_OPTS="${EXTRA_OPTS:-""}"
|
||||
VMM_CONFIGS="qemu fc"
|
||||
|
@ -29,7 +29,7 @@ package_output_dir="${package_output_dir:-}"
|
||||
[ -n "${tdshim_version}" ] || die "Failed to get TD-shim version or commit"
|
||||
[ -n "${tdshim_toolchain}" ] || die "Failed to get TD-shim toolchain to be used to build the project"
|
||||
|
||||
container_image="${TDSHIM_CONTAINER_BUILDER:-${CC_BUILDER_REGISTRY}:td-shim-${tdshim_toolchain}-$(get_last_modification ${repo_root_dir} ${script_dir})-$(uname -m)}"
|
||||
container_image="${TDSHIM_CONTAINER_BUILDER:-$(get_td_shim_image_name)}"
|
||||
|
||||
sudo docker pull ${container_image} || \
|
||||
(sudo docker build \
|
||||
|
@ -48,7 +48,7 @@ case ${ARCH} in
|
||||
;;
|
||||
esac
|
||||
|
||||
container_image="${VIRTIOFSD_CONTAINER_BUILDER:-${CC_BUILDER_REGISTRY}:virtiofsd-${virtiofsd_toolchain}-${libc}-$(get_last_modification ${repo_root_dir} ${script_dir})-$(uname -m)}"
|
||||
container_image="${VIRTIOFSD_CONTAINER_BUILDER:-$(get_virtiofsd_image_name)}"
|
||||
|
||||
sudo docker pull ${container_image} || \
|
||||
(sudo docker build \
|
||||
|
Loading…
Reference in New Issue
Block a user