mirror of
https://github.com/aljazceru/kata-containers.git
synced 2026-01-24 08:44:21 +01:00
Let's add support for caching VirtioFS artefacts that are generated using the kata-deploy local-build scripts. Right now those are not used, but we'll switch to using them very soon as part of upcoming changes of how we build the components we test in our CI. Fixes: #6480 Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com> Signed-off-by: Gabriela Cervantes <gabriela.cervantes.tellez@intel.com>
69 lines
2.1 KiB
Bash
Executable File
69 lines
2.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# Copyright (c) 2022 Intel
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
set -o errexit
|
|
set -o nounset
|
|
set -o pipefail
|
|
|
|
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
readonly virtiofsd_builder="${script_dir}/build-static-virtiofsd.sh"
|
|
|
|
source "${script_dir}/../../scripts/lib.sh"
|
|
|
|
DESTDIR=${DESTDIR:-${PWD}}
|
|
PREFIX=${PREFIX:-/opt/kata}
|
|
kata_version="${kata_version:-}"
|
|
virtiofsd_repo="${virtiofsd_repo:-}"
|
|
virtiofsd_version="${virtiofsd_version:-}"
|
|
virtiofsd_toolchain="${virtiofsd_toolchain:-}"
|
|
virtiofsd_zip="${virtiofsd_zip:-}"
|
|
package_output_dir="${package_output_dir:-}"
|
|
|
|
[ -n "${virtiofsd_repo}" ] || virtiofsd_repo=$(get_from_kata_deps "externals.virtiofsd.url")
|
|
[ -n "${virtiofsd_version}" ] || virtiofsd_version=$(get_from_kata_deps "externals.virtiofsd.version")
|
|
[ -n "${virtiofsd_toolchain}" ] || virtiofsd_toolchain=$(get_from_kata_deps "externals.virtiofsd.toolchain")
|
|
[ -n "${virtiofsd_zip}" ] || virtiofsd_zip=$(get_from_kata_deps "externals.virtiofsd.meta.binary")
|
|
|
|
[ -n "${virtiofsd_repo}" ] || die "Failed to get virtiofsd repo"
|
|
[ -n "${virtiofsd_version}" ] || die "Failed to get virtiofsd version or commit"
|
|
[ -n "${virtiofsd_toolchain}" ] || die "Failed to get the rust toolchain to build virtiofsd"
|
|
[ -n "${virtiofsd_zip}" ] || die "Failed to get virtiofsd binary URL"
|
|
|
|
ARCH=$(uname -m)
|
|
case ${ARCH} in
|
|
"aarch64")
|
|
libc="musl"
|
|
;;
|
|
"ppc64le")
|
|
libc="gnu"
|
|
;;
|
|
"s390x")
|
|
libc="gnu"
|
|
;;
|
|
"x86_64")
|
|
libc="musl"
|
|
;;
|
|
esac
|
|
|
|
container_image="${VIRTIOFSD_CONTAINER_BUILDER:-$(get_virtiofsd_image_name)}"
|
|
|
|
sudo docker pull ${container_image} || \
|
|
(sudo docker build \
|
|
--build-arg RUST_TOOLCHAIN="${virtiofsd_toolchain}" \
|
|
-t "${container_image}" "${script_dir}/${libc}" && \
|
|
# No-op unless PUSH_TO_REGISTRY is exported as "yes"
|
|
push_to_registry "${container_image}")
|
|
|
|
sudo docker run --rm -i -v "${repo_root_dir}:${repo_root_dir}" \
|
|
-w "${PWD}" \
|
|
--env DESTDIR="${DESTDIR}" \
|
|
--env PREFIX="${PREFIX}" \
|
|
--env virtiofsd_repo="${virtiofsd_repo}" \
|
|
--env virtiofsd_version="${virtiofsd_version}" \
|
|
--env virtiofsd_zip="${virtiofsd_zip}" \
|
|
"${container_image}" \
|
|
bash -c "${virtiofsd_builder}"
|