#!/bin/bash # # Copyright (c) 2023 Intel Corporation # # SPDX-License-Identifier: Apache-2.0 # set -o errexit set -o nounset set -o pipefail kata_tarball_dir="${2:-kata-artifacts}" runk_dir="$(dirname "$(readlink -f "$0")")" source "${runk_dir}/../../common.bash" source "${runk_dir}/../../gha-run-k8s-common.sh" function install_dependencies() { info "Installing the dependencies needed for running the stdio tests" # Dependency list of projects that we can rely on the system packages # - jq declare -a system_deps=( jq ) sudo apt-get update sudo apt-get -y install "${system_deps[@]}" ensure_yq # 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 declare -a github_deps github_deps[0]="cri_containerd:$(get_from_kata_deps ".externals.containerd.${CONTAINERD_VERSION}")" github_deps[1]="runc:$(get_from_kata_deps ".externals.runc.latest")" github_deps[2]="cni_plugins:$(get_from_kata_deps ".externals.cni-plugins.version")" for github_dep in "${github_deps[@]}"; do IFS=":" read -r -a dep <<< "${github_dep}" install_${dep[0]} "${dep[1]}" done # Requires bats to run the tests install_bats } function run() { info "Running stdio tests" bats "${runk_dir}/stdio-tests.bats" } function main() { action="${1:-}" case "${action}" in install-dependencies) install_dependencies ;; install-kata) install_kata ;; run) run ;; *) >&2 die "Invalid argument" ;; esac } main "$@"