mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-08-15 06:34:03 +00:00
cache_components: Add support for caching firmwares
As we're already doing for some components, let's also add support for caching firmwares. TD-Shim and TDVF are the ones supported for now. Fixes: #5360, #5361 Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
This commit is contained in:
parent
d910a79a3f
commit
fdd6826d40
@ -14,6 +14,7 @@ source "${script_dir}/../scripts/lib.sh"
|
||||
|
||||
export KATA_BUILD_CC="${KATA_BUILD_CC:-}"
|
||||
export TEE="${TEE:-}"
|
||||
export FIRMWARE="${FIRMWARE:-}"
|
||||
|
||||
cache_qemu_artifacts() {
|
||||
local qemu_tarball_name="kata-static-cc-qemu.tar.xz"
|
||||
@ -47,6 +48,26 @@ cache_kernel_artifacts() {
|
||||
create_cache_asset "${kernel_tarball_name}" "${current_kernel_version}" "${current_kernel_image}"
|
||||
}
|
||||
|
||||
cache_firmware_artifacts() {
|
||||
case ${FIRMWARE} in
|
||||
"td-shim")
|
||||
firmware_tarball_name="kata-static-cc-tdx-td-shim.tar.xz"
|
||||
current_firmware_image="$(get_td_shim_image_name)"
|
||||
current_firmware_version="$(get_from_kata_deps "externals.td-shim.version")-$(get_from_kata_deps "externals.td-shim.toolchain")"
|
||||
;;
|
||||
"tdvf")
|
||||
firmware_tarball_name="kata-static-cc-tdx-tdvf.tar.xz"
|
||||
current_firmware_image="$(get_ovmf_image_name)"
|
||||
current_firmware_version="$(get_from_kata_deps "externals.ovmf.tdx.version")"
|
||||
;;
|
||||
*)
|
||||
die "Not a valid firmware (td-shim, tdvf) wass set as the FIRMWARE environment variable."
|
||||
|
||||
;;
|
||||
esac
|
||||
create_cache_asset "${firmware_tarball_name}" "${current_firmware_version}" "${current_firmware_image}"
|
||||
}
|
||||
|
||||
create_cache_asset() {
|
||||
local component_name="${1}"
|
||||
local component_version="${2}"
|
||||
@ -71,6 +92,10 @@ Usage: $0 "[options]"
|
||||
-c Cloud hypervisor cache
|
||||
-k Kernel cache
|
||||
-q Qemu cache
|
||||
-f Firmware cache
|
||||
* Requires FIRMWARE environment variable set, valid values are:
|
||||
* tdvf
|
||||
* td-shim
|
||||
-h Shows help
|
||||
EOF
|
||||
)"
|
||||
@ -80,8 +105,9 @@ main() {
|
||||
local cloud_hypervisor_component="${cloud_hypervisor_component:-}"
|
||||
local qemu_component="${qemu_component:-}"
|
||||
local kernel_component="${kernel_component:-}"
|
||||
local firmware_component="${firmware_component:-}"
|
||||
local OPTIND
|
||||
while getopts ":ckqh:" opt
|
||||
while getopts ":ckqfh:" opt
|
||||
do
|
||||
case "$opt" in
|
||||
c)
|
||||
@ -93,6 +119,9 @@ main() {
|
||||
q)
|
||||
qemu_component="1"
|
||||
;;
|
||||
f)
|
||||
firmware_component="1"
|
||||
;;
|
||||
h)
|
||||
help
|
||||
exit 0;
|
||||
@ -109,6 +138,7 @@ main() {
|
||||
[[ -z "${cloud_hypervisor_component}" ]] && \
|
||||
[[ -z "${kernel_component}" ]] && \
|
||||
[[ -z "${qemu_component}" ]] && \
|
||||
[[ -z "${firmware_component}" ]] && \
|
||||
help && die "Must choose at least one option"
|
||||
|
||||
mkdir -p "${WORKSPACE}/artifacts"
|
||||
@ -118,6 +148,7 @@ main() {
|
||||
[ "${cloud_hypervisor_component}" == "1" ] && cache_clh_artifacts
|
||||
[ "${kernel_component}" == "1" ] && cache_kernel_artifacts
|
||||
[ "${qemu_component}" == "1" ] && cache_qemu_artifacts
|
||||
[ "${firmware_component}" == "1" ] && cache_firmware_artifacts
|
||||
|
||||
ls -la "${WORKSPACE}/artifacts/"
|
||||
popd
|
||||
|
Loading…
Reference in New Issue
Block a user