Fix resources isues 15

This commit is contained in:
2026-01-22 17:53:02 +01:00
parent 741112be63
commit 8e6083e5af
3 changed files with 33 additions and 32 deletions

View File

@@ -32,7 +32,7 @@ spec:
- name: HOME - name: HOME
value: /tekton/home value: /tekton/home
script: | script: |
#!/bin/bash #!/bin/sh
set -e set -e
# Mark workspace as safe directory to avoid ownership issues # Mark workspace as safe directory to avoid ownership issues
@@ -41,7 +41,7 @@ spec:
cd $(workspaces.source.path) cd $(workspaces.source.path)
# Get the list of changed files # Get the list of changed files
CHANGED_FILES=$(git diff --name-only HEAD~1 HEAD 2>/dev/null || git diff --name-only $(git rev-parse --abbrev-ref HEAD)@{upstream} HEAD 2>/dev/null || echo "") CHANGED_FILES=$(git diff --name-only HEAD~1 HEAD 2>/dev/null || echo "")
if [ -z "$CHANGED_FILES" ]; then if [ -z "$CHANGED_FILES" ]; then
# No changes detected, assume all services need building # No changes detected, assume all services need building
@@ -50,53 +50,54 @@ spec:
exit 0 exit 0
fi fi
# Initialize an array to collect changed services echo "Changed files:"
declare -a changed_services=() echo "$CHANGED_FILES"
# Initialize empty string to collect changed services
CHANGED_SERVICES=""
# Helper function to add service if not already present
add_service() {
svc="$1"
case ",$CHANGED_SERVICES," in
*",$svc,"*) ;; # Already present
*)
if [ -z "$CHANGED_SERVICES" ]; then
CHANGED_SERVICES="$svc"
else
CHANGED_SERVICES="$CHANGED_SERVICES,$svc"
fi
;;
esac
}
# Check for changes in services/ directory # Check for changes in services/ directory
while IFS= read -r service_dir; do for svc in $(echo "$CHANGED_FILES" | grep '^services/' | cut -d'/' -f2 | sort -u); do
if [ -n "$service_dir" ]; then if [ -n "$svc" ]; then
service_name=$(basename "$service_dir") add_service "$svc"
if [[ ! " ${changed_services[@]} " =~ " ${service_name} " ]]; then
changed_services+=("$service_name")
fi fi
fi done
done < <(echo "$CHANGED_FILES" | grep '^services/' | cut -d'/' -f2 | sort -u)
# Check for changes in gateway/ directory # Check for changes in gateway/ directory
if echo "$CHANGED_FILES" | grep -q '^gateway/'; then if echo "$CHANGED_FILES" | grep -q '^gateway/'; then
if [[ ! " ${changed_services[@]} " =~ " gateway " ]]; then add_service "gateway"
changed_services+=("gateway")
fi
fi fi
# Check for changes in frontend/ directory # Check for changes in frontend/ directory
if echo "$CHANGED_FILES" | grep -q '^frontend/'; then if echo "$CHANGED_FILES" | grep -q '^frontend/'; then
if [[ ! " ${changed_services[@]} " =~ " frontend " ]]; then add_service "frontend"
changed_services+=("frontend")
fi
fi fi
# Check for changes in shared/ directory (might affect multiple services) # Check for changes in shared/ directory (might affect multiple services)
if echo "$CHANGED_FILES" | grep -q '^shared/'; then if echo "$CHANGED_FILES" | grep -q '^shared/'; then
if [[ ! " ${changed_services[@]} " =~ " shared " ]]; then add_service "shared"
changed_services+=("shared")
fi fi
fi
# Convert array to comma-separated string
CHANGED_SERVICES=""
for service in "${changed_services[@]}"; do
if [ -z "$CHANGED_SERVICES" ]; then
CHANGED_SERVICES="$service"
else
CHANGED_SERVICES="$CHANGED_SERVICES,$service"
fi
done
if [ -z "$CHANGED_SERVICES" ]; then if [ -z "$CHANGED_SERVICES" ]; then
# Changes are in infrastructure or other non-service files # Changes are in infrastructure or other non-service files
echo "Detected: infrastructure changes only"
echo "infrastructure" > $(results.changed-services.path) echo "infrastructure" > $(results.changed-services.path)
else else
echo "Detected changed services: $CHANGED_SERVICES"
echo "$CHANGED_SERVICES" > $(results.changed-services.path) echo "$CHANGED_SERVICES" > $(results.changed-services.path)
fi fi

View File

@@ -30,7 +30,7 @@ spec:
seccompProfile: seccompProfile:
type: RuntimeDefault type: RuntimeDefault
script: | script: |
#!/bin/bash #!/bin/sh
set -e set -e
echo "=== Bakery-IA CI Pipeline Summary ===" echo "=== Bakery-IA CI Pipeline Summary ==="

View File

@@ -59,7 +59,7 @@ spec:
name: gitea-git-credentials name: gitea-git-credentials
key: password key: password
script: | script: |
#!/bin/bash #!/bin/sh
set -e set -e
echo "============================================" echo "============================================"