Fixing service generation step in Renovate PR deploy flow.
Renovate / renovate (push) Successful in 2m44s

This commit is contained in:
2025-09-30 08:00:31 -04:00
parent 7b9c1fde9b
commit e16c2f8e0b
+14 -10
View File
@@ -51,16 +51,21 @@ jobs:
- name: Get changed services from docker-compose.yml - name: Get changed services from docker-compose.yml
id: services id: services
run: | run: |
set -euo pipefail
git fetch origin ${{ github.event.pull_request.base.ref }} git fetch origin ${{ github.event.pull_request.base.ref }}
# Extract service=image pairs from HEAD (PR merge result) # Extract service=image pairs from HEAD (current merge commit)
yq -r '.services | to_entries[] | "\(.key)=\(.value.image // "")"' docker-compose.yml \ yq -r '.services | to_entries[] | "\(.key)=\(.value.image // "")"' docker-compose.yml \
| sort > services_head.txt | sort > services_head.txt
# Extract service=image pairs from BASE (main branch) # Extract service=image pairs from BASE (main branch)
git show origin/${{ github.event.pull_request.base.ref }}:docker-compose.yml \ if git show origin/${{ github.event.pull_request.base.ref }}:docker-compose.yml > base.yml 2>/dev/null; then
| yq -r '.services | to_entries[] | "\(.key)=\(.value.image // "")"' \ yq -r '.services | to_entries[] | "\(.key)=\(.value.image // "")"' base.yml \
| sort > services_main.txt || true | sort > services_main.txt
else
touch services_main.txt
fi
echo "Comparing images between base and head..." echo "Comparing images between base and head..."
: > service_changes.txt : > service_changes.txt
@@ -75,12 +80,11 @@ jobs:
echo "Detected service changes:" echo "Detected service changes:"
cat service_changes.txt || true cat service_changes.txt || true
mod_svcs=$(sort -u service_changes.txt | xargs) # Flatten into a single space-separated string
if [ -z "$mod_svcs" ]; then mod_svcs=$(sort -u service_changes.txt | xargs echo -n)
echo "docker_svc_list=" >> "$GITHUB_OUTPUT"
else # Export for downstream steps (safe single-line)
echo "docker_svc_list=$mod_svcs" >> "$GITHUB_OUTPUT" echo "docker_svc_list=$mod_svcs" >> "$GITHUB_OUTPUT"
fi
- name: List of Services for (Re)Deployment - name: List of Services for (Re)Deployment
run: | run: |