mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-04-28 03:42:09 +00:00
ci: cache: Install ORAS in the kata-deploy binaries builder container
ORAS is the tool which will help us to deal with our artefacts being pushed to and pulled from a container registry. As both the push to and the pull from will be done inside the kata-deploy binaries builder container, we need it installed there. Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
This commit is contained in:
parent
adc18ecdb1
commit
be2eb7b378
@ -7,10 +7,11 @@ ENV DEBIAN_FRONTEND=noninteractive
|
||||
ENV INSTALL_IN_GOPATH=false
|
||||
|
||||
COPY install_yq.sh /usr/bin/install_yq.sh
|
||||
COPY install_oras.sh /usr/bin/install_oras.sh
|
||||
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
|
||||
# Install yq and docker
|
||||
# Install yq, oras, and docker
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
ca-certificates \
|
||||
@ -18,6 +19,7 @@ RUN apt-get update && \
|
||||
sudo && \
|
||||
apt-get clean && rm -rf /var/lib/apt/lists/ && \
|
||||
install_yq.sh && \
|
||||
install_oras.sh && \
|
||||
curl -fsSL https://get.docker.com -o get-docker.sh && \
|
||||
if uname -m | grep -Eq 's390x|ppc64le'; then export VERSION="v20.10" && \
|
||||
sed -i 's/\<docker-compose-plugin\>//g' get-docker.sh; fi && \
|
||||
|
49
tools/packaging/kata-deploy/local-build/dockerbuild/install_oras.sh
Executable file
49
tools/packaging/kata-deploy/local-build/dockerbuild/install_oras.sh
Executable file
@ -0,0 +1,49 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copyright (c) 2023 Intel Corporation
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
install_dest="/usr/local/bin"
|
||||
|
||||
function get_installed_oras_version() {
|
||||
oras version | grep Version | sed -e s/Version:// | tr -d [:blank:]
|
||||
}
|
||||
|
||||
oras_required_version="v1.1.0"
|
||||
if command -v oras; then
|
||||
if [[ "${oras_required_version}" == "v$(get_installed_oras_version)" ]]; then
|
||||
echo "ORAS is already installed in the system"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Proceeding to cleanup the previous installed version of ORAS, and install the version specified in the versions.yaml file"
|
||||
oras_system_path=$(which oras)
|
||||
sudo rm -f ${oras_system_path}
|
||||
fi
|
||||
|
||||
arch=$(uname -m)
|
||||
if [ "${arch}" = "ppc64le" ]; then
|
||||
echo "An ORAS release for ppc64le is not available yet."
|
||||
exit 0
|
||||
fi
|
||||
if [ "${arch}" = "x86_64" ]; then
|
||||
arch="amd64"
|
||||
fi
|
||||
if [ "${arch}" = "aarch64" ]; then
|
||||
arch="arm64"
|
||||
fi
|
||||
oras_tarball="oras_${oras_required_version#v}_linux_${arch}.tar.gz"
|
||||
|
||||
echo "Downloading ORAS ${oras_required_version}"
|
||||
sudo curl -OL https://github.com/oras-project/oras/releases/download/${oras_required_version}/${oras_tarball}
|
||||
|
||||
echo "Installing ORAS to ${install_dest}"
|
||||
sudo mkdir -p "${install_dest}"
|
||||
sudo tar -C "${install_dest}" -xzf "${oras_tarball}"
|
||||
sudo rm -f "${oras_tarball}"
|
Loading…
Reference in New Issue
Block a user