package: add nydus to release artifacts

Install nydus related binaries under /opt/kata/libexec/

Fixes: #5726

Signed-off-by: Bin Liu <bin@hyper.sh>
This commit is contained in:
Bin Liu 2022-11-15 15:32:31 +08:00
parent 7c8d474959
commit abb9ebeece
6 changed files with 64 additions and 0 deletions

View File

@ -25,6 +25,7 @@ jobs:
- rootfs-image
- rootfs-initrd
- virtiofsd
- nydus
steps:
- uses: actions/checkout@v2
- name: Install docker

View File

@ -50,6 +50,7 @@ jobs:
- cloud-hypervisor
- firecracker
- kernel
- nydus
- qemu
- rootfs-image
- rootfs-initrd

View File

@ -13,6 +13,7 @@ jobs:
- cloud-hypervisor
- firecracker
- kernel
- nydus
- qemu
- rootfs-image
- rootfs-initrd

View File

@ -24,6 +24,7 @@ all-parallel: $(MK_DIR)/dockerbuild/install_yq.sh
all: serial-targets \
firecracker-tarball \
kernel-tarball \
nydus-tarball \
qemu-tarball \
shim-v2-tarball \
virtiofsd-tarball
@ -49,6 +50,8 @@ kernel-tarball:
kernel-experimental-tarball:
${MAKE} $@-build
nydus-tarball:
${MAKE} $@-build
qemu-tarball:
${MAKE} $@-build

View File

@ -27,6 +27,7 @@ readonly kernel_builder="${static_build_dir}/kernel/build.sh"
readonly qemu_builder="${static_build_dir}/qemu/build-static-qemu.sh"
readonly shimv2_builder="${static_build_dir}/shim-v2/build.sh"
readonly virtiofsd_builder="${static_build_dir}/virtiofsd/build.sh"
readonly nydus_builder="${static_build_dir}/nydus/build.sh"
readonly rootfs_builder="${repo_root_dir}/tools/packaging/guest-image/build_image.sh"
@ -73,6 +74,7 @@ options:
firecracker
kernel
kernel-experimental
nydus
qemu
rootfs-image
rootfs-initrd
@ -151,6 +153,17 @@ install_virtiofsd() {
sudo install -D --owner root --group root --mode 0744 virtiofsd/virtiofsd "${destdir}/opt/kata/libexec/virtiofsd"
}
# Install static nydus asset
install_nydus() {
info "build static nydus"
"${nydus_builder}"
info "Install static nydus"
mkdir -p "${destdir}/opt/kata/libexec/"
ls -tl . || true
ls -tl nydus-static || true
sudo install -D --owner root --group root --mode 0744 nydus-static/nydusd "${destdir}/opt/kata/libexec/nydusd"
}
#Install all components that are not assets
install_shimv2() {
GO_VERSION="$(yq r ${versions_yaml} languages.golang.meta.newest-version)"
@ -177,6 +190,7 @@ handle_build() {
install_image
install_initrd
install_kernel
install_nydus
install_qemu
install_shimv2
install_virtiofsd
@ -188,6 +202,8 @@ handle_build() {
kernel) install_kernel ;;
nydus) install_nydus ;;
kernel-experimental) install_experimental_kernel;;
qemu) install_qemu ;;
@ -234,6 +250,7 @@ main() {
firecracker
kernel
kernel-experimental
nydus
qemu
rootfs-image
rootfs-initrd

View File

@ -0,0 +1,41 @@
#!/usr/bin/env bash
#
# Copyright (c) 2022 Ant Group
#
# SPDX-License-Identifier: Apache-2.0
set -o errexit
set -o nounset
set -o pipefail
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${script_dir}/../../scripts/lib.sh"
ARCH=${ARCH:-$(arch_to_golang "$(uname -m)")}
nydus_url="${nydus_url:-}"
nydus_version="${nydus_version:-}"
info "Get nydus information from runtime versions.yaml"
[ -n "$nydus_url" ] || nydus_url=$(get_from_kata_deps "externals.nydus.url")
[ -n "$nydus_url" ] || die "failed to get nydus url"
[ -n "$nydus_version" ] || nydus_version=$(get_from_kata_deps "externals.nydus.version")
[ -n "$nydus_version" ] || die "failed to get nydus version"
nydus_tarball_url="${nydus_url}/releases/download"
file_name="nydus-static-${nydus_version}-linux-${ARCH}.tgz"
download_url="${nydus_tarball_url}/${nydus_version}/${file_name}"
info "Download nydus version: ${nydus_version} from ${download_url}"
curl -o ${file_name} -L $download_url
sha256sum="${file_name}.sha256sum"
sha256sum_url="${nydus_tarball_url}/${nydus_version}/${sha256sum}"
info "Download nydus ${sha256sum} from ${sha256sum_url}"
curl -o ${sha256sum} -L $sha256sum_url
sha256sum -c ${sha256sum}
tar zxvf ${file_name}