containerd/script/test/cri-integration.sh
Kazuyoshi Kato a76d68ee48 Separate containerd logs in GitHub Actions' console
`::group::` groups containerd logs by default.

https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#grouping-log-lines

Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2022-10-17 16:27:23 +00:00

76 lines
2.1 KiB
Bash
Executable File

#!/bin/bash
# Copyright The containerd Authors.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
set -o errexit
set -o nounset
set -o pipefail
basedir="$(dirname "${BASH_SOURCE[0]}")"
source "${basedir}/utils.sh"
trap test_teardown EXIT
ROOT="$( cd "${basedir}" && pwd )"/../..
cd "${ROOT}"
# FOCUS focuses the test to run.
FOCUS=${FOCUS:-""}
# REPORT_DIR is the directory to store test logs.
if [ $IS_WINDOWS -eq 0 ]; then
REPORT_DIR=${REPORT_DIR:-"/tmp/test-integration"}
else
REPORT_DIR=${REPORT_DIR:-"C:/Windows/Temp/test-integration"}
fi
# RUNTIME is the runtime handler to use in the test.
RUNTIME=${RUNTIME:-""}
CRI_ROOT="${CONTAINERD_ROOT}/io.containerd.grpc.v1.cri"
mkdir -p "${REPORT_DIR}"
test_setup "${REPORT_DIR}"
# Run integration test.
CMD=""
if [ -n "${sudo}" ]; then
CMD+="${sudo} "
# sudo strips environment variables, so add ENABLE_CRI_SANDBOXES back if present
if [ -n "${ENABLE_CRI_SANDBOXES}" ]; then
CMD+="ENABLE_CRI_SANDBOXES='${ENABLE_CRI_SANDBOXES}' "
fi
fi
CMD+="${PWD}/bin/cri-integration.test"
${CMD} --test.run="${FOCUS}" --test.v \
--cri-endpoint="${CONTAINERD_SOCK}" \
--cri-root="${CRI_ROOT}" \
--runtime-handler="${RUNTIME}" \
--containerd-bin="${CONTAINERD_BIN}" \
--image-list="${TEST_IMAGE_LIST:-}" && test_exit_code=$? || test_exit_code=$?
if [[ "$test_exit_code" -ne 0 ]]; then
if [[ -e "$GITHUB_WORKSPACE" ]]; then
mkdir -p "$GITHUB_WORKSPACE/report"
mv "$REPORT_DIR/containerd.log" "$GITHUB_WORKSPACE/report"
echo ::group::containerd logs
cat "$GITHUB_WORKSPACE/report/containerd.log"
echo ::endgroup::
else
cat "$REPORT_DIR/containerd.log"
fi
fi
exit ${test_exit_code}