From b3416b3e9597d712669fef1eac33650de3d1e325 Mon Sep 17 00:00:00 2001 From: Kaniska Date: Fri, 21 Feb 2025 14:53:09 +0000 Subject: [PATCH] Updating the check size test logic for universal image --- .github/actions/smoke-test/build.sh | 12 ++++++++++-- .github/actions/smoke-test/check-image-size.sh | 4 ++-- .github/actions/smoke-test/test.sh | 3 ++- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/.github/actions/smoke-test/build.sh b/.github/actions/smoke-test/build.sh index ec6be58c9..58d41976a 100755 --- a/.github/actions/smoke-test/build.sh +++ b/.github/actions/smoke-test/build.sh @@ -7,6 +7,14 @@ export DOCKER_BUILDKIT=1 echo "(*) Installing @devcontainer/cli" npm install -g @devcontainers/cli -echo "(*) Building image - ${IMAGE}" id_label="test-container=${IMAGE}" -devcontainer up --id-label ${id_label} --workspace-folder "src/${IMAGE}/" +id_image="universal-test-image" +if [ $IMAGE == "universal" ]; then + echo "(*) Building image - ${IMAGE}" + devcontainer build --image-name ${id_image} --workspace-folder "src/${IMAGE}/" + echo "(*) Starting container - ${IMAGE}" + devcontainer up --id-label ${id_label} --workspace-folder "src/${IMAGE}/" +else + echo "(*) Building image - ${IMAGE}" + devcontainer up --id-label ${id_label} --workspace-folder "src/${IMAGE}/" +fi diff --git a/.github/actions/smoke-test/check-image-size.sh b/.github/actions/smoke-test/check-image-size.sh index 747d3c3ab..eb49fed48 100755 --- a/.github/actions/smoke-test/check-image-size.sh +++ b/.github/actions/smoke-test/check-image-size.sh @@ -32,13 +32,13 @@ install_bc() { check_image_size() { IMAGE="$1" THRESHOLD_IN_GB="$2" - + id_image="$3" # call install_bc install_bc if [ $IMAGE == "universal" ]; then #Read the image id of the original image, not the modified image with uid and gid - IMAGE_ID=$(docker images | grep -v "uid" | sed '1d' | awk '{print $3}') + IMAGE_ID=$(docker images -q --filter=reference="$id_image") else CONTAINER_ID=$(docker ps -q --filter "label=test-container=$IMAGE") # Find the image ID of the container diff --git a/.github/actions/smoke-test/test.sh b/.github/actions/smoke-test/test.sh index 6a9c9a674..adef7d0d1 100755 --- a/.github/actions/smoke-test/test.sh +++ b/.github/actions/smoke-test/test.sh @@ -10,6 +10,7 @@ set -e # Run actual test echo "(*) Running test..." id_label="test-container=${IMAGE}" +id_image="universal-test-image" devcontainer exec --workspace-folder $(pwd)/src/$IMAGE --id-label ${id_label} /bin/sh -c 'set -e && if [ -f "test-project/test.sh" ]; then cd test-project && if [ "$(id -u)" = "0" ]; then chmod +x test.sh; else sudo chmod +x test.sh; fi && ./test.sh; else ls -a; fi' echo "(*) Docker image details..." @@ -17,7 +18,7 @@ docker images # Checking size of universal image if [ $IMAGE == "universal" ]; then - check_image_size $IMAGE $THRESHOLD_IN_GB + check_image_size $IMAGE $THRESHOLD_IN_GB $id_image fi # Clean up