mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-08-25 19:21:53 +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
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# $1 - Repo's root dir
|
# $1 - The file we're looking for the last modification
|
||||||
# $2 - The file we're looking for the last modification
|
|
||||||
get_last_modification() {
|
get_last_modification() {
|
||||||
local repo_root_dir="${1}"
|
local file="${1}"
|
||||||
local file="${2}"
|
|
||||||
|
|
||||||
|
pushd ${repo_root_dir} &> /dev/null
|
||||||
# This is a workaround needed for when running this code on Jenkins
|
# This is a workaround needed for when running this code on Jenkins
|
||||||
git config --global --add safe.directory ${repo_root_dir} &> /dev/null
|
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"
|
[ $(git status --porcelain | grep "${file#${repo_root_dir}/}" | wc -l) -gt 0 ] && dirty="-dirty"
|
||||||
|
|
||||||
echo "$(git log -1 --pretty=format:"%H" ${file})${dirty}"
|
echo "$(git log -1 --pretty=format:"%H" ${file})${dirty}"
|
||||||
|
popd &> /dev/null
|
||||||
}
|
}
|
||||||
|
|
||||||
# $1 - The tag to be pushed to the registry
|
# $1 - The tag to be pushed to the registry
|
||||||
@ -188,3 +188,54 @@ calc_qemu_files_sha256sum() {
|
|||||||
|
|
||||||
sha256sum_from_files "$files"
|
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_repo}" ] || die "Failed to get lvm2 repo"
|
||||||
[ -n "${lvm2_version}" ] || die "Failed to get lvm2 version"
|
[ -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 \
|
sudo docker pull ${container_image} || (sudo docker build \
|
||||||
--build-arg cryptsetup_repo="${cryptsetup_repo}" \
|
--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}}
|
DESTDIR=${DESTDIR:-${PWD}}
|
||||||
PREFIX=${PREFIX:-/opt/kata}
|
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}"
|
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")}
|
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,/*[^/]\+/*$,,')"
|
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}}
|
DESTDIR=${DESTDIR:-${PWD}}
|
||||||
PREFIX=${PREFIX:-/opt/kata}
|
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}"
|
ovmf_build="${ovmf_build:-x86_64}"
|
||||||
kata_version="${kata_version:-}"
|
kata_version="${kata_version:-}"
|
||||||
ovmf_repo="${ovmf_repo:-}"
|
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}" ] && HYPERVISOR_NAME="kata-qemu-${build_suffix}" || HYPERVISOR_NAME="kata-qemu"
|
||||||
[ -n "${build_suffix}" ] && PKGVERSION="kata-static-${build_suffix}" || PKGVERSION="kata-static"
|
[ -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 docker pull ${container_image} || \
|
||||||
(sudo "${container_engine}" build \
|
(sudo "${container_engine}" build \
|
||||||
|
@ -19,7 +19,7 @@ RUST_VERSION=${RUST_VERSION:-}
|
|||||||
|
|
||||||
DESTDIR=${DESTDIR:-${PWD}}
|
DESTDIR=${DESTDIR:-${PWD}}
|
||||||
PREFIX=${PREFIX:-/opt/kata}
|
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:-""}"
|
EXTRA_OPTS="${EXTRA_OPTS:-""}"
|
||||||
VMM_CONFIGS="qemu fc"
|
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_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"
|
[ -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 pull ${container_image} || \
|
||||||
(sudo docker build \
|
(sudo docker build \
|
||||||
|
@ -48,7 +48,7 @@ case ${ARCH} in
|
|||||||
;;
|
;;
|
||||||
esac
|
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 pull ${container_image} || \
|
||||||
(sudo docker build \
|
(sudo docker build \
|
||||||
|
Loading…
Reference in New Issue
Block a user