mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-04-28 19:54:35 +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
|
ENV INSTALL_IN_GOPATH=false
|
||||||
|
|
||||||
COPY install_yq.sh /usr/bin/install_yq.sh
|
COPY install_yq.sh /usr/bin/install_yq.sh
|
||||||
|
COPY install_oras.sh /usr/bin/install_oras.sh
|
||||||
|
|
||||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||||
|
|
||||||
# Install yq and docker
|
# Install yq, oras, and docker
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get install -y --no-install-recommends \
|
apt-get install -y --no-install-recommends \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
@ -18,6 +19,7 @@ RUN apt-get update && \
|
|||||||
sudo && \
|
sudo && \
|
||||||
apt-get clean && rm -rf /var/lib/apt/lists/ && \
|
apt-get clean && rm -rf /var/lib/apt/lists/ && \
|
||||||
install_yq.sh && \
|
install_yq.sh && \
|
||||||
|
install_oras.sh && \
|
||||||
curl -fsSL https://get.docker.com -o get-docker.sh && \
|
curl -fsSL https://get.docker.com -o get-docker.sh && \
|
||||||
if uname -m | grep -Eq 's390x|ppc64le'; then export VERSION="v20.10" && \
|
if uname -m | grep -Eq 's390x|ppc64le'; then export VERSION="v20.10" && \
|
||||||
sed -i 's/\<docker-compose-plugin\>//g' get-docker.sh; fi && \
|
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