mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-07-13 07:04:58 +00:00
Merge pull request #168 from jcvenegas/check-image-sha
Check agent commit id when image is generated.
This commit is contained in:
commit
3749be761b
@ -5,4 +5,4 @@
|
|||||||
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
find . -type d -name "*home:katacontainers*" -exec sudo rm -rf {} \;
|
find . -maxdepth 2 -type d -name '*home:katacontainers*' -exec sudo rm -rf {} \;
|
||||||
|
@ -15,11 +15,6 @@ project="kata-containers"
|
|||||||
|
|
||||||
source "${script_dir}/../scripts/lib.sh"
|
source "${script_dir}/../scripts/lib.sh"
|
||||||
|
|
||||||
get_kata_hash_from_tag() {
|
|
||||||
repo=$1
|
|
||||||
git ls-remote --tags "https://github.com/${project}/${repo}.git" | grep "refs/tags/${kata_version}^{}" | awk '{print $1}'
|
|
||||||
}
|
|
||||||
|
|
||||||
gen_version_file() {
|
gen_version_file() {
|
||||||
local branch="$1"
|
local branch="$1"
|
||||||
[ -n "${branch}" ] || exit 1
|
[ -n "${branch}" ] || exit 1
|
||||||
|
@ -16,10 +16,16 @@ readonly script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|||||||
readonly project="kata-containers"
|
readonly project="kata-containers"
|
||||||
readonly tmp_dir=$(mktemp -d -t build-image-tmp.XXXXXXXXXX)
|
readonly tmp_dir=$(mktemp -d -t build-image-tmp.XXXXXXXXXX)
|
||||||
readonly osbuilder_url=https://github.com/${project}/osbuilder.git
|
readonly osbuilder_url=https://github.com/${project}/osbuilder.git
|
||||||
|
export GOPATH="${tmp_dir}/go"
|
||||||
|
|
||||||
export GOPATH=${GOPATH:-${HOME}/go}
|
export GOPATH=${GOPATH:-${HOME}/go}
|
||||||
source "${script_dir}/../../scripts/lib.sh"
|
source "${script_dir}/../../scripts/lib.sh"
|
||||||
|
|
||||||
|
exit_handler() {
|
||||||
|
[ -d "${tmp_dir}" ] && sudo rm -rf "$tmp_dir"
|
||||||
|
}
|
||||||
|
trap exit_handler EXIT
|
||||||
|
|
||||||
arch_target="$(uname -m)"
|
arch_target="$(uname -m)"
|
||||||
|
|
||||||
kata_version="master"
|
kata_version="master"
|
||||||
@ -47,6 +53,7 @@ build_image() {
|
|||||||
sudo -E PATH="${PATH}" make image \
|
sudo -E PATH="${PATH}" make image \
|
||||||
DISTRO="${img_distro}" \
|
DISTRO="${img_distro}" \
|
||||||
DEBUG="${DEBUG:-}" \
|
DEBUG="${DEBUG:-}" \
|
||||||
|
USE_DOCKER="1" \
|
||||||
AGENT_VERSION="${agent_version}" \
|
AGENT_VERSION="${agent_version}" \
|
||||||
IMG_OS_VERSION="${img_os_version}" \
|
IMG_OS_VERSION="${img_os_version}" \
|
||||||
DISTRO_ROOTFS="${tmp_dir}/rootfs-image"
|
DISTRO_ROOTFS="${tmp_dir}/rootfs-image"
|
||||||
|
@ -48,7 +48,7 @@ replace_list=(
|
|||||||
|
|
||||||
verify
|
verify
|
||||||
rm -rf kata-containers.tar.gz
|
rm -rf kata-containers.tar.gz
|
||||||
image_tarball=$(find . -name 'kata-containers-'"${VERSION}"'-*.tar.gz')
|
image_tarball=$(find . -name 'kata-containers-'"${VERSION}"'-'"${kata_agent_hash:0:11}"'-*.tar.gz')
|
||||||
[ -f "${image_tarball}" ] || die "image not found"
|
[ -f "${image_tarball}" ] || die "image not found"
|
||||||
cp "${image_tarball}" kata-containers.tar.gz
|
cp "${image_tarball}" kata-containers.tar.gz
|
||||||
|
|
||||||
|
@ -305,7 +305,7 @@ function get_obs_pkg_release() {
|
|||||||
local obs_pkg_name="$1"
|
local obs_pkg_name="$1"
|
||||||
local pkg
|
local pkg
|
||||||
local repo_dir
|
local repo_dir
|
||||||
local release
|
local release=""
|
||||||
|
|
||||||
pkg=$(basename "${obs_pkg_name}")
|
pkg=$(basename "${obs_pkg_name}")
|
||||||
repo_dir=$(mktemp -d -u -t "${pkg}.XXXXXXXXXXX")
|
repo_dir=$(mktemp -d -u -t "${pkg}.XXXXXXXXXXX")
|
||||||
@ -314,9 +314,9 @@ function get_obs_pkg_release() {
|
|||||||
|
|
||||||
spec_file=$(find "${repo_dir}" -maxdepth 1 -type f -name '*.spec' | head -1)
|
spec_file=$(find "${repo_dir}" -maxdepth 1 -type f -name '*.spec' | head -1)
|
||||||
# Find in specfile in Release: XX field.
|
# Find in specfile in Release: XX field.
|
||||||
release=$(grep -oP 'Release:\s+[0-9]+' "${spec_file}" | grep -oP '[0-9]+')
|
[ ! -f "${spec_file}" ] || release=$(grep -oP 'Release:\s+[0-9]+' "${spec_file}" | grep -oP '[0-9]+')
|
||||||
|
|
||||||
if [ -z "${release}" ]; then
|
if [ -z "${release}" ] && [ -f "${spec_file}" ] ; then
|
||||||
# Not release number found find in "%define release XX"
|
# Not release number found find in "%define release XX"
|
||||||
release=$(grep -oP '%define\s+release\s+[0-9]+' "${spec_file}" | grep -oP '[0-9]+')
|
release=$(grep -oP '%define\s+release\s+[0-9]+' "${spec_file}" | grep -oP '[0-9]+')
|
||||||
fi
|
fi
|
||||||
@ -324,7 +324,7 @@ function get_obs_pkg_release() {
|
|||||||
release_file=$(find "${repo_dir}" -maxdepth 1 -type f -name 'pkg-release')
|
release_file=$(find "${repo_dir}" -maxdepth 1 -type f -name 'pkg-release')
|
||||||
if [ -z "${release}" ] && [ -f "${release_file}" ]; then
|
if [ -z "${release}" ] && [ -f "${release_file}" ]; then
|
||||||
# Release still not found check pkg-release file
|
# Release still not found check pkg-release file
|
||||||
release=$(grep -oP '[0-9]+' ${release_file})
|
release=$(grep -oP '[0-9]+' "${release_file}")
|
||||||
fi
|
fi
|
||||||
if [ -z "${release}" ]; then
|
if [ -z "${release}" ]; then
|
||||||
# Not release number found, this is a new repository.
|
# Not release number found, this is a new repository.
|
||||||
|
@ -17,6 +17,8 @@ readonly script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|||||||
readonly project="kata-containers"
|
readonly project="kata-containers"
|
||||||
GOPATH=${GOPATH:-${HOME}/go}
|
GOPATH=${GOPATH:-${HOME}/go}
|
||||||
|
|
||||||
|
source "${script_dir}/../scripts/lib.sh"
|
||||||
|
|
||||||
die() {
|
die() {
|
||||||
msg="$*"
|
msg="$*"
|
||||||
echo "ERROR: ${FUNCNAME[1]} ${msg}" >&2
|
echo "ERROR: ${FUNCNAME[1]} ${msg}" >&2
|
||||||
@ -56,9 +58,12 @@ main() {
|
|||||||
kata_version=${1:-}
|
kata_version=${1:-}
|
||||||
[ -n "${kata_version}" ] || usage "1"
|
[ -n "${kata_version}" ] || usage "1"
|
||||||
|
|
||||||
image_tarball=$(find -name 'kata-containers-*.tar.gz' | grep "${kata_version}") ||
|
agent_sha=$(get_kata_hash_from_tag "agent" "${kata_version}")
|
||||||
|
# tarball only has 11 chars from agent sha
|
||||||
|
agent_sha=${agent_sha:0:11}
|
||||||
|
image_tarball=$(find -name 'kata-containers-*.tar.gz' | grep "${kata_version}" | grep "${agent_sha}") ||
|
||||||
"${script_dir}/../obs-packaging/kata-containers-image/build_image.sh" -v "${kata_version}"
|
"${script_dir}/../obs-packaging/kata-containers-image/build_image.sh" -v "${kata_version}"
|
||||||
image_tarball=$(find -name 'kata-containers-*.tar.gz' | grep "${kata_version}") || die "file not found ${image_tarball}"
|
image_tarball=$(find -name 'kata-containers-*.tar.gz' | grep "${kata_version}" | grep "${agent_sha}" ) || die "file not found ${image_tarball}"
|
||||||
|
|
||||||
if [ ${push} == "true" ]; then
|
if [ ${push} == "true" ]; then
|
||||||
hub -C "${GOPATH}/src/github.com/${project}/agent" release edit -a "${image_tarball}" "${kata_version}"
|
hub -C "${GOPATH}/src/github.com/${project}/agent" release edit -a "${image_tarball}" "${kata_version}"
|
||||||
|
@ -82,3 +82,8 @@ build_hub() {
|
|||||||
./script/build -o "${hub_bin}"
|
./script/build -o "${hub_bin}"
|
||||||
popd >>/dev/null
|
popd >>/dev/null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get_kata_hash_from_tag() {
|
||||||
|
repo=$1
|
||||||
|
git ls-remote --tags "https://github.com/${project}/${repo}.git" | grep "refs/tags/${kata_version}^{}" | awk '{print $1}'
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user