From d3788934aec7c2da6e0e1bb210c3246431f4fe16 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Wed, 8 Oct 2025 07:09:30 -0400 Subject: [PATCH] Updating Renovate PR flow to capture service dependencies. --- .gitea/workflows/renovate-pr-deploy.yml | 30 +++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/renovate-pr-deploy.yml b/.gitea/workflows/renovate-pr-deploy.yml index 250dc201..7fc5b4bd 100644 --- a/.gitea/workflows/renovate-pr-deploy.yml +++ b/.gitea/workflows/renovate-pr-deploy.yml @@ -66,11 +66,37 @@ jobs: done echo "Detected services with changed images:" - cat service_changes.txt || true + cat service_changes.txt || echo "None" + + changed_svcs=$(sort -u service_changes.txt | xargs || true) + if [ -z "$changed_svcs" ]; then + echo "No image tag/digest changes detected." + echo "docker_svc_list<> "$GITHUB_OUTPUT" + echo "" >> "$GITHUB_OUTPUT" + echo "EOF" >> "$GITHUB_OUTPUT" + exit 0 + fi + + echo "Collecting direct dependencies..." + deps_list="" + for svc in $changed_svcs; do + deps=$(yq -r ".services[\"$svc\"].depends_on | keys | .[]" docker-compose-new-flat.yml 2>/dev/null || true) + if [ -n "$deps" ]; then + echo "$svc depends on:" + echo "$deps" + deps_list="$deps_list $deps" + fi + done + + # Combine changed services and their dependencies, deduplicate + all_svcs=$( (echo "$changed_svcs"; echo "$deps_list") | tr ' ' '\n' | sort -u ) + + echo "Final service list (including direct dependencies):" + echo "$all_svcs" # Prepare multiline output for GitHub Actions echo "docker_svc_list<> "$GITHUB_OUTPUT" - sort -u service_changes.txt >> "$GITHUB_OUTPUT" + echo "$all_svcs" >> "$GITHUB_OUTPUT" echo "EOF" >> "$GITHUB_OUTPUT" - name: Stop if no image changes