Fixing service generation step in Renovate PR deploy flow.
Renovate / renovate (push) Successful in 2m44s
Renovate / renovate (push) Successful in 2m44s
This commit is contained in:
@@ -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: |
|
||||||
|
|||||||
Reference in New Issue
Block a user