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_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
kata_version="${kata_version:-}"
#project_name
readonly project_name="kata-containers"
@ -427,9 +428,9 @@ main() {
# If not kernel version take it from versions.yaml
if [ -z "$kernel_version" ]; 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
kernel_version=$(get_from_kata_deps "assets.kernel.version")
kernel_version=$(get_from_kata_deps "assets.kernel.version" "${kata_version}")
#Remove extra 'v'
kernel_version="${kernel_version#v}"
fi

View File

@ -1 +1 @@
57
58

View File

@ -116,12 +116,13 @@ install_image() {
#Install kernel asset
install_kernel() {
kata_version=${1:-$kata_version}
pushd "${script_dir}/../"
info "build kernel"
./kernel/build-kernel.sh setup
./kernel/build-kernel.sh build
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
pushd ${destdir}
tar -czvf ../kata-static-kernel.tar.gz *
@ -130,12 +131,13 @@ install_kernel() {
#Install experimental kernel asset
install_experimental_kernel() {
kata_version=${1:-$kata_version}
pushd "${script_dir}/../"
info "build experimental kernel"
./kernel/build-kernel.sh -e setup
./kernel/build-kernel.sh -e build
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
pushd ${destdir}
tar -czvf ../kata-static-experimental-kernel.tar.gz *
@ -144,20 +146,23 @@ install_experimental_kernel() {
# Install static qemu asset
install_qemu() {
kata_version=${1:-$kata_version}
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_qemu_virtiofsd() {
kata_version=${1:-$kata_version}
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_firecracker() {
kata_version=${1:-$kata_version}
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"
mkdir -p "${destdir}/opt/kata/bin/"
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_clh() {
kata_version=${1:-$kata_version}
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"
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"

View File

@ -9,6 +9,7 @@ set -o nounset
set -o pipefail
script_dir=$(dirname $(readlink -f "$0"))
kata_version="${kata_version:-}"
source "${script_dir}/../../scripts/lib.sh"
@ -17,13 +18,13 @@ cloud_hypervisor_version="${cloud_hypervisor_version:-}"
if [ -z "$cloud_hypervisor_repo" ]; then
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"
cloud_hypervisor_repo="${cloud_hypervisor_url}.git"
fi
[ -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"
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_version="${firecracker_version:-}"
kata_version="${kata_version:-}"
if [ -z "$firecracker_repo" ]; then
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"
firecracker_repo="${firecracker_url}.git"
fi
[ -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"
info "Build ${firecracker_repo} version: ${firecracker_version}"

View File

@ -14,8 +14,8 @@ source "${script_dir}/../../scripts/lib.sh"
source "${script_dir}/../qemu.blacklist"
config_dir="${script_dir}/../../scripts/"
nemu_tar="kata-nemu-static.tar.gz"
nemu_tmp_tar="kata-nemu-static-tmp.tar.gz"
nemu_tar="kata-static-nemu.tar.gz"
nemu_tmp_tar="kata-static-nemu-tmp.tar.gz"
Dockerfile="Dockerfile"
if [ $# -ne 0 ];then
@ -45,24 +45,25 @@ nemu_repo="${nemu_repo:-}"
nemu_version="${nemu_version:-}"
nemu_ovmf_repo="${nemu_ovmf_repo:-}"
nemu_ovmf_version="${nemu_ovmf_version:-}"
kata_version="${kata_version:-}"
if [ -z "$nemu_repo" ]; then
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
[ -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"
if [ -z "$nemu_ovmf_repo" ]; then
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"
fi
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"
fi

View File

@ -13,10 +13,11 @@ script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${script_dir}/../../scripts/lib.sh"
source "${script_dir}/../qemu.blacklist"
kata_version="${kata_version:-}"
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
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_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_version="${qemu_version:-}"
kata_version="${kata_version:-}"
if [ -z "$qemu_repo" ]; then
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"
qemu_repo="${qemu_url}.git"
fi
[ -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
qemu_version=$(get_from_kata_deps "assets.hypervisor.qemu.tag")
qemu_version=$(get_from_kata_deps "assets.hypervisor.qemu.tag" "${kata_version}")
fi
[ -n "$qemu_version" ] || die "failed to get qemu version"