-
Notifications
You must be signed in to change notification settings - Fork 489
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
3f7f89a
commit 8d583c1
Showing
4 changed files
with
71 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
{ | ||
"name": "universal", | ||
"image": "mcr.microsoft.com/devcontainers/universal:dev-linux" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
#!/bin/bash | ||
IMAGE="$1" | ||
|
||
# Function to handle errors | ||
handle_error() { | ||
local exit_code=$? | ||
local line_number=$1 | ||
local command=$2 | ||
echo "Error occurred at line $line_number with exit code $exit_code in command $command" | ||
exit $exit_code | ||
} | ||
trap 'handle_error $LINENO ${BASH_COMMAND%% *}' ERR | ||
echo "This is line $LINENO" | ||
# Check if bc is installed | ||
if ! command -v bc &> /dev/null; then | ||
echo "bc is not installed. Installing..." | ||
# Install bc using apt-get (for Debian-based systems) | ||
sudo apt-get update | ||
sudo apt-get install -y bc | ||
fi | ||
|
||
convert_gb_to_bytes() { | ||
local gb="$1" | ||
local bytes | ||
bytes=$(echo "scale=0; $gb * 1024^3" | bc) | ||
printf "%.0f\n" "$bytes" | ||
} | ||
CONTAINER_ID=$(docker ps -q --filter "label=test-container=$IMAGE") | ||
# Find the image ID of the container | ||
IMAGE_ID=$(docker inspect --format='{{.Image}}' "$CONTAINER_ID") | ||
# Find the size of the image | ||
IMAGE_SIZE=$(docker image inspect --format='{{.Size}}' "$IMAGE_ID") | ||
# Output the size | ||
echo "Size of the image $IMAGE_ID: $IMAGE_SIZE bytes" | ||
# Define the threshold size (in GB) | ||
gb_value=12.5 | ||
threshold=$(convert_gb_to_bytes "$gb_value") | ||
# Retrieve the Docker image size | ||
echo -e "\nThreshold=$threshold" | ||
# Remove the 'MB' from the size string and convert to an integer | ||
image_size=${IMAGE_SIZE%bytes} | ||
image_size=${image_size//.} | ||
# Check if the image size is above the threshold | ||
echo -e "\n🧪 Checking image size of $IMAGE :" | ||
if [ -n $image_size ] && [ $image_size -gt $threshold ]; then | ||
echo -e "\nImage size exceeds the threshold of $gb_value gb" | ||
echo -e "\n❌ Image size check failed." | ||
else | ||
echo -e "\n✅ Passed!" | ||
fi | ||
# Uninstall bc if it was installed temporarily | ||
if [[ $(dpkg-query -l bc | grep -c '^ii ') -eq 1 ]]; then | ||
echo "Removing bc..." | ||
sudo apt-get purge -y bc | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
#!/bin/bash | ||
cd $(dirname "$0") | ||
|
||
echo -e "\nTest file executed" |