From f2e00c95c0ecfd4de0815e6afef2bc382e90ef71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= Date: Thu, 13 Jul 2023 14:01:13 +0200 Subject: [PATCH] ci: cri-containerd: Populate install_dependencies() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Let's install all the dependencies needed for running the `cri-containerd` tests. The list of dependencies we have are: * From the system - build-essential - jq - podman-docker * From our own repo - yq - go * From GitHub projects - containerd - cri-tools Signed-off-by: Fabiano FidĂȘncio --- tests/integration/cri-containerd/gha-run.sh | 41 ++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/tests/integration/cri-containerd/gha-run.sh b/tests/integration/cri-containerd/gha-run.sh index 38b7191932..c36c966057 100755 --- a/tests/integration/cri-containerd/gha-run.sh +++ b/tests/integration/cri-containerd/gha-run.sh @@ -14,7 +14,46 @@ cri_containerd_dir="$(dirname "$(readlink -f "$0")")" source "${cri_containerd_dir}/../../common.bash" function install_dependencies() { - return 0 + info "Installing the dependencies needed for running the cri-containerd tests" + + # Dependency list of projects that we can rely on the system packages + # - build-essential + # - Theoretically we only need `make`, but doesn't hurt to install + # the whole build-essential group + # - jq + # - podman-docker + # - one of the tests rely on docker to pull an image. + # we've decided to go for podman, instead, as it does *not* bring + # containerd as a dependency + declare -a system_deps=( + build-essential + jq + podman-docker + ) + + sudo apt-get update + sudo apt-get -y install "${system_deps[@]}" + + ensure_yq + ${repo_root_dir}/tests/install_go.sh -p + + # Dependency list of projects that we can install them + # directly from their releases on GitHub: + # - containerd + # - cri-container-cni release tarball already includes CNI plugins + # - cri-tools + declare -a github_deps + github_deps[0]="cri_containerd:$(get_from_kata_deps "externals.containerd.${CONTAINERD_VERSION}")" + github_deps[1]="cri_tools:$(get_from_kata_deps "externals.critools.latest")" + + for github_dep in "${github_deps[@]}"; do + IFS=":" read -r -a dep <<< "${github_dep}" + install_${dep[0]} "${dep[1]}" + done + + # Clone containerd as we'll need to build it in order to run the tests + # base_version: The version to be intalled in the ${major}.${minor} format + clone_cri_containerd $(get_from_kata_deps "externals.containerd.${CONTAINERD_VERSION}") } function run() {