mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-11 20:57:31 +00:00
cache compose tests
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
# Usage: ./run_or_skip.sh <Make target> <images>
|
||||
# Example: ./run_or_skip.sh lint-force "img1;img2"
|
||||
|
||||
set -euox pipefail
|
||||
set -euo pipefail
|
||||
|
||||
if [ -z "$CACHE_DIR" ]; then
|
||||
echo "CACHE_DIR is not set. Please set it to a valid directory."
|
||||
@@ -23,10 +23,10 @@ get_image_ids() {
|
||||
local id=$(docker image inspect "$img" --format='{{.Id}}' 2>/dev/null || true)
|
||||
if [[ -z $id ]]; then
|
||||
docker pull "$img" >/dev/null 2>&1 || true
|
||||
id="$(docker image inspect "$img" --format='{{.Id}}' 2>/dev/null || true)"
|
||||
id=$(docker image inspect "$img" --format='{{.Id}}' 2>/dev/null || true)
|
||||
fi
|
||||
if [[ -z $id ]]; then
|
||||
id="$(docker image inspect "$img" --format='{{.Id}}' 2>/dev/null || true)"
|
||||
id=$(docker image inspect "$img" --format='{{.Id}}' 2>/dev/null || true)
|
||||
fi
|
||||
id=${id:-new-and-not-pullable-or-failed-to-build}
|
||||
id="${img}@${id}"
|
||||
@@ -36,20 +36,28 @@ get_image_ids() {
|
||||
echo "$ids"
|
||||
}
|
||||
|
||||
OLD_DIGEST=$(cat "$DIGEST_FILE" 2>/dev/null || echo "")
|
||||
OLD_STATUS=$(echo "$OLD_DIGEST" | cut -d ';' -f1)
|
||||
OLD_IDS=$(echo "$OLD_DIGEST" | cut -d ';' -f2-99)
|
||||
CURRENT_IMAGE_IDS=$(get_image_ids)
|
||||
docker images
|
||||
echo $CURRENT_IMAGE_IDS
|
||||
if [[ "$OLD_IDS" == "$CURRENT_IMAGE_IDS" ]]; then
|
||||
PREVIOUS_DIGEST=$(cat "$DIGEST_FILE" 2>/dev/null || echo "")
|
||||
PREVIOUS_STATUS=$(echo "$PREVIOUS_DIGEST" | cut -d ';' -f1)
|
||||
PREVIOUS_IMAGE_IDS=$(echo "$PREVIOUS_DIGEST" | cut -d ';' -f2-99)
|
||||
CURRENT_IMAGE_IDS="$(get_image_ids)"
|
||||
if [[ "$PREVIOUS_IMAGE_IDS" == "$CURRENT_IMAGE_IDS" ]]; then
|
||||
if [[ "$FORCE" == "true" ]]; then
|
||||
echo "\$FORCE=$FORCE - Running $MAKE_TARGET despite unchanged images."
|
||||
else
|
||||
echo "Skipping $MAKE_TARGET – all images unchanged, returning cached status $OLD_STATUS"
|
||||
exit $OLD_STATUS
|
||||
echo "Skipping $MAKE_TARGET – all images unchanged, returning cached status $PREVIOUS_STATUS"
|
||||
exit $PREVIOUS_STATUS
|
||||
fi
|
||||
fi
|
||||
echo "Images have changed"
|
||||
echo
|
||||
echo "PREVIOUS_IMAGE_IDS does not match CURRENT_IMAGE_IDS"
|
||||
echo
|
||||
echo "$PREVIOUS_IMAGE_IDS"
|
||||
echo
|
||||
echo "$CURRENT_IMAGE_IDS"
|
||||
echo
|
||||
docker images
|
||||
echo
|
||||
echo "Running $MAKE_TARGET..."
|
||||
set +e
|
||||
make -j $MAKE_TARGET
|
||||
|
Reference in New Issue
Block a user