release: Fix bug in how version is determined for actions

Althought, we changed the script "gen_versions_txt.sh" to accept a tag
rather than a branch, this change is not sufficient.
This script generates the right version file based on a tag, but
function `get_from_kata_deps` does not use this, and ends up using the
master branch instead. This is because this function looks at an env
variable called $BRANCH and ends up using master branch if the variable
is not defined.

Pass the tag/new version to the build scripts, so that this tag is
passed along to `get_from_kata_dep`.
With this change, the correct version information is consumed by the
build scripts for the various hypervisors and kernel.

Fixes #831

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
This commit is contained in:
Archana Shinde 2019-11-25 15:14:22 -08:00
parent 62f4536d46
commit 9377c5d5ca
8 changed files with 36 additions and 24 deletions

View File

@ -14,6 +14,7 @@ set -o pipefail
readonly script_name="$(basename "${BASH_SOURCE[0]}")" readonly script_name="$(basename "${BASH_SOURCE[0]}")"
readonly script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" readonly script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
kata_version="${kata_version:-}"
#project_name #project_name
readonly project_name="kata-containers" readonly project_name="kata-containers"
@ -427,9 +428,9 @@ main() {
# If not kernel version take it from versions.yaml # If not kernel version take it from versions.yaml
if [ -z "$kernel_version" ]; then if [ -z "$kernel_version" ]; then
if [[ ${experimental_kernel} == "true" ]]; then if [[ ${experimental_kernel} == "true" ]]; then
kernel_version=$(get_from_kata_deps "assets.kernel-experimental.tag") kernel_version=$(get_from_kata_deps "assets.kernel-experimental.tag" "${kata_version}")
else else
kernel_version=$(get_from_kata_deps "assets.kernel.version") kernel_version=$(get_from_kata_deps "assets.kernel.version" "${kata_version}")
#Remove extra 'v' #Remove extra 'v'
kernel_version="${kernel_version#v}" kernel_version="${kernel_version#v}"
fi fi

View File

@ -1 +1 @@
57 58

View File

@ -116,12 +116,13 @@ install_image() {
#Install kernel asset #Install kernel asset
install_kernel() { install_kernel() {
kata_version=${1:-$kata_version}
pushd "${script_dir}/../" pushd "${script_dir}/../"
info "build kernel" info "build kernel"
./kernel/build-kernel.sh setup ./kernel/build-kernel.sh setup
./kernel/build-kernel.sh build ./kernel/build-kernel.sh build
info "install kernel" info "install kernel"
DESTDIR="${destdir}" PREFIX="${prefix}" ./kernel/build-kernel.sh install kata_version="${kata_version}" DESTDIR="${destdir}" PREFIX="${prefix}" ./kernel/build-kernel.sh install
popd popd
pushd ${destdir} pushd ${destdir}
tar -czvf ../kata-static-kernel.tar.gz * tar -czvf ../kata-static-kernel.tar.gz *
@ -130,12 +131,13 @@ install_kernel() {
#Install experimental kernel asset #Install experimental kernel asset
install_experimental_kernel() { install_experimental_kernel() {
kata_version=${1:-$kata_version}
pushd "${script_dir}/../" pushd "${script_dir}/../"
info "build experimental kernel" info "build experimental kernel"
./kernel/build-kernel.sh -e setup ./kernel/build-kernel.sh -e setup
./kernel/build-kernel.sh -e build ./kernel/build-kernel.sh -e build
info "install experimental kernel" info "install experimental kernel"
DESTDIR="${destdir}" PREFIX="${prefix}" ./kernel/build-kernel.sh -e install kata_version="${kata_version}" DESTDIR="${destdir}" PREFIX="${prefix}" ./kernel/build-kernel.sh -e install
popd popd
pushd ${destdir} pushd ${destdir}
tar -czvf ../kata-static-experimental-kernel.tar.gz * tar -czvf ../kata-static-experimental-kernel.tar.gz *
@ -144,20 +146,23 @@ install_experimental_kernel() {
# Install static qemu asset # Install static qemu asset
install_qemu() { install_qemu() {
kata_version=${1:-$kata_version}
info "build static qemu" info "build static qemu"
"${script_dir}/../static-build/qemu/build-static-qemu.sh" kata_version="${kata_version}" "${script_dir}/../static-build/qemu/build-static-qemu.sh"
} }
# Install static qemu-virtiofsd asset # Install static qemu-virtiofsd asset
install_qemu_virtiofsd() { install_qemu_virtiofsd() {
kata_version=${1:-$kata_version}
info "build static qemu-virtiofs" info "build static qemu-virtiofs"
"${script_dir}/../static-build/qemu-virtiofs/build-static-qemu-virtiofs.sh" kata_version="${kata_version}" "${script_dir}/../static-build/qemu-virtiofs/build-static-qemu-virtiofs.sh"
} }
# Install static firecracker asset # Install static firecracker asset
install_firecracker() { install_firecracker() {
kata_version=${1:-$kata_version}
info "build static firecracker" info "build static firecracker"
[ -f "firecracker/firecracker-static" ] || "${script_dir}/../static-build/firecracker/build-static-firecracker.sh" [ -f "firecracker/firecracker-static" ] || kata_version="${kata_version}" "${script_dir}/../static-build/firecracker/build-static-firecracker.sh"
info "Install static firecracker" info "Install static firecracker"
mkdir -p "${destdir}/opt/kata/bin/" mkdir -p "${destdir}/opt/kata/bin/"
sudo install -D --owner root --group root --mode 0744 firecracker/firecracker-static "${destdir}/opt/kata/bin/firecracker" sudo install -D --owner root --group root --mode 0744 firecracker/firecracker-static "${destdir}/opt/kata/bin/firecracker"
@ -169,8 +174,9 @@ install_firecracker() {
# Install static cloud-hypervisor asset # Install static cloud-hypervisor asset
install_clh() { install_clh() {
kata_version=${1:-$kata_version}
info "build static cloud-hypervisor" info "build static cloud-hypervisor"
"${script_dir}/../static-build/cloud-hypervisor/build-static-clh.sh" kata_version="${kata_version}" "${script_dir}/../static-build/cloud-hypervisor/build-static-clh.sh"
info "Install static cloud-hypervisor" info "Install static cloud-hypervisor"
mkdir -p "${destdir}/opt/kata/bin/" mkdir -p "${destdir}/opt/kata/bin/"
sudo install -D --owner root --group root --mode 0744 cloud-hypervisor/cloud-hypervisor "${destdir}/opt/kata/bin/cloud-hypervisor" sudo install -D --owner root --group root --mode 0744 cloud-hypervisor/cloud-hypervisor "${destdir}/opt/kata/bin/cloud-hypervisor"

View File

@ -9,6 +9,7 @@ set -o nounset
set -o pipefail set -o pipefail
script_dir=$(dirname $(readlink -f "$0")) script_dir=$(dirname $(readlink -f "$0"))
kata_version="${kata_version:-}"
source "${script_dir}/../../scripts/lib.sh" source "${script_dir}/../../scripts/lib.sh"
@ -17,13 +18,13 @@ cloud_hypervisor_version="${cloud_hypervisor_version:-}"
if [ -z "$cloud_hypervisor_repo" ]; then if [ -z "$cloud_hypervisor_repo" ]; then
info "Get cloud_hypervisor information from runtime versions.yaml" info "Get cloud_hypervisor information from runtime versions.yaml"
cloud_hypervisor_url=$(get_from_kata_deps "assets.hypervisor.cloud_hypervisor.url") cloud_hypervisor_url=$(get_from_kata_deps "assets.hypervisor.cloud_hypervisor.url" "${kata_version}")
[ -n "$cloud_hypervisor_url" ] || die "failed to get cloud_hypervisor url" [ -n "$cloud_hypervisor_url" ] || die "failed to get cloud_hypervisor url"
cloud_hypervisor_repo="${cloud_hypervisor_url}.git" cloud_hypervisor_repo="${cloud_hypervisor_url}.git"
fi fi
[ -n "$cloud_hypervisor_repo" ] || die "failed to get cloud_hypervisor repo" [ -n "$cloud_hypervisor_repo" ] || die "failed to get cloud_hypervisor repo"
[ -n "$cloud_hypervisor_version" ] || cloud_hypervisor_version=$(get_from_kata_deps "assets.hypervisor.cloud_hypervisor.version") [ -n "$cloud_hypervisor_version" ] || cloud_hypervisor_version=$(get_from_kata_deps "assets.hypervisor.cloud_hypervisor.version" "${kata_version}")
[ -n "$cloud_hypervisor_version" ] || die "failed to get cloud_hypervisor version" [ -n "$cloud_hypervisor_version" ] || die "failed to get cloud_hypervisor version"
info "Build ${cloud_hypervisor_repo} version: ${cloud_hypervisor_version}" info "Build ${cloud_hypervisor_repo} version: ${cloud_hypervisor_version}"

View File

@ -16,16 +16,17 @@ config_dir="${script_dir}/../../scripts/"
firecracker_repo="${firecracker_repo:-}" firecracker_repo="${firecracker_repo:-}"
firecracker_version="${firecracker_version:-}" firecracker_version="${firecracker_version:-}"
kata_version="${kata_version:-}"
if [ -z "$firecracker_repo" ]; then if [ -z "$firecracker_repo" ]; then
info "Get firecracker information from runtime versions.yaml" info "Get firecracker information from runtime versions.yaml"
firecracker_url=$(get_from_kata_deps "assets.hypervisor.firecracker.url") firecracker_url=$(get_from_kata_deps "assets.hypervisor.firecracker.url" "${kata_version}")
[ -n "$firecracker_url" ] || die "failed to get firecracker url" [ -n "$firecracker_url" ] || die "failed to get firecracker url"
firecracker_repo="${firecracker_url}.git" firecracker_repo="${firecracker_url}.git"
fi fi
[ -n "$firecracker_repo" ] || die "failed to get firecracker repo" [ -n "$firecracker_repo" ] || die "failed to get firecracker repo"
[ -n "$firecracker_version" ] || firecracker_version=$(get_from_kata_deps "assets.hypervisor.firecracker.version") [ -n "$firecracker_version" ] || firecracker_version=$(get_from_kata_deps "assets.hypervisor.firecracker.version" "${kata_version}")
[ -n "$firecracker_version" ] || die "failed to get firecracker version" [ -n "$firecracker_version" ] || die "failed to get firecracker version"
info "Build ${firecracker_repo} version: ${firecracker_version}" info "Build ${firecracker_repo} version: ${firecracker_version}"

View File

@ -14,8 +14,8 @@ source "${script_dir}/../../scripts/lib.sh"
source "${script_dir}/../qemu.blacklist" source "${script_dir}/../qemu.blacklist"
config_dir="${script_dir}/../../scripts/" config_dir="${script_dir}/../../scripts/"
nemu_tar="kata-nemu-static.tar.gz" nemu_tar="kata-static-nemu.tar.gz"
nemu_tmp_tar="kata-nemu-static-tmp.tar.gz" nemu_tmp_tar="kata-static-nemu-tmp.tar.gz"
Dockerfile="Dockerfile" Dockerfile="Dockerfile"
if [ $# -ne 0 ];then if [ $# -ne 0 ];then
@ -45,24 +45,25 @@ nemu_repo="${nemu_repo:-}"
nemu_version="${nemu_version:-}" nemu_version="${nemu_version:-}"
nemu_ovmf_repo="${nemu_ovmf_repo:-}" nemu_ovmf_repo="${nemu_ovmf_repo:-}"
nemu_ovmf_version="${nemu_ovmf_version:-}" nemu_ovmf_version="${nemu_ovmf_version:-}"
kata_version="${kata_version:-}"
if [ -z "$nemu_repo" ]; then if [ -z "$nemu_repo" ]; then
info "Get nemu information from runtime versions.yaml" info "Get nemu information from runtime versions.yaml"
nemu_repo=$(get_from_kata_deps "assets.hypervisor.nemu.url") nemu_repo=$(get_from_kata_deps "assets.hypervisor.nemu.url" "$kata_version")
fi fi
[ -n "$nemu_repo" ] || die "failed to get nemu repo" [ -n "$nemu_repo" ] || die "failed to get nemu repo"
[ -n "$nemu_version" ] || nemu_version=$(get_from_kata_deps "assets.hypervisor.nemu.version") [ -n "$nemu_version" ] || nemu_version=$(get_from_kata_deps "assets.hypervisor.nemu.version" "$kata_version")
[ -n "$nemu_version" ] || die "failed to get nemu version" [ -n "$nemu_version" ] || die "failed to get nemu version"
if [ -z "$nemu_ovmf_repo" ]; then if [ -z "$nemu_ovmf_repo" ]; then
info "Get nemu information from runtime versions.yaml" info "Get nemu information from runtime versions.yaml"
nemu_ovmf_repo=$(get_from_kata_deps "assets.hypervisor.nemu-ovmf.url") nemu_ovmf_repo=$(get_from_kata_deps "assets.hypervisor.nemu-ovmf.url" "$kata_version")
[ -n "$nemu_ovmf_repo" ] || die "failed to get nemu ovmf repo url" [ -n "$nemu_ovmf_repo" ] || die "failed to get nemu ovmf repo url"
fi fi
if [ -z "$nemu_ovmf_version" ]; then if [ -z "$nemu_ovmf_version" ]; then
nemu_ovmf_version=$(get_from_kata_deps "assets.hypervisor.nemu-ovmf.version") nemu_ovmf_version=$(get_from_kata_deps "assets.hypervisor.nemu-ovmf.version" "$kata_version")
[ -n "$nemu_ovmf_version" ] || die "failed to get nemu ovmf version" [ -n "$nemu_ovmf_version" ] || die "failed to get nemu ovmf version"
fi fi

View File

@ -13,10 +13,11 @@ script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${script_dir}/../../scripts/lib.sh" source "${script_dir}/../../scripts/lib.sh"
source "${script_dir}/../qemu.blacklist" source "${script_dir}/../qemu.blacklist"
kata_version="${kata_version:-}"
packaging_dir="${script_dir}/../.." packaging_dir="${script_dir}/../.."
qemu_virtiofs_repo=$(get_from_kata_deps "assets.hypervisor.qemu-experimental.url") qemu_virtiofs_repo=$(get_from_kata_deps "assets.hypervisor.qemu-experimental.url" "${kata_version}")
# This tag will be supported on the runtime versions.yaml # This tag will be supported on the runtime versions.yaml
qemu_virtiofs_tag=$(get_from_kata_deps "assets.hypervisor.qemu-experimental.tag") qemu_virtiofs_tag=$(get_from_kata_deps "assets.hypervisor.qemu-experimental.tag" "${kata_version}")
qemu_virtiofs_tar="kata-static-qemu-virtiofsd.tar.gz" qemu_virtiofs_tar="kata-static-qemu-virtiofsd.tar.gz"
qemu_tmp_tar="kata-static-qemu-virtiofsd-tmp.tar.gz" qemu_tmp_tar="kata-static-qemu-virtiofsd-tmp.tar.gz"

View File

@ -19,18 +19,19 @@ qemu_tmp_tar="kata-static-qemu-tmp.tar.gz"
qemu_repo="${qemu_repo:-}" qemu_repo="${qemu_repo:-}"
qemu_version="${qemu_version:-}" qemu_version="${qemu_version:-}"
kata_version="${kata_version:-}"
if [ -z "$qemu_repo" ]; then if [ -z "$qemu_repo" ]; then
info "Get qemu information from runtime versions.yaml" info "Get qemu information from runtime versions.yaml"
qemu_url=$(get_from_kata_deps "assets.hypervisor.qemu.url") qemu_url=$(get_from_kata_deps "assets.hypervisor.qemu.url" "${kata_version}")
[ -n "$qemu_url" ] || die "failed to get qemu url" [ -n "$qemu_url" ] || die "failed to get qemu url"
qemu_repo="${qemu_url}.git" qemu_repo="${qemu_url}.git"
fi fi
[ -n "$qemu_repo" ] || die "failed to get qemu repo" [ -n "$qemu_repo" ] || die "failed to get qemu repo"
[ -n "$qemu_version" ] || qemu_version=$(get_from_kata_deps "assets.hypervisor.qemu.version") [ -n "$qemu_version" ] || qemu_version=$(get_from_kata_deps "assets.hypervisor.qemu.version" "${kata_version}")
if ! (git ls-remote --heads "${qemu_url}" | grep -q "refs/heads/${qemu_version}"); then if ! (git ls-remote --heads "${qemu_url}" | grep -q "refs/heads/${qemu_version}"); then
qemu_version=$(get_from_kata_deps "assets.hypervisor.qemu.tag") qemu_version=$(get_from_kata_deps "assets.hypervisor.qemu.tag" "${kata_version}")
fi fi
[ -n "$qemu_version" ] || die "failed to get qemu version" [ -n "$qemu_version" ] || die "failed to get qemu version"