This commit is contained in:
2025-10-06 09:34:18 -04:00
parent 5e62020e35
commit 6cfa19ff3c
+22 -23
View File
@@ -53,35 +53,34 @@ jobs:
- name: Generate combined service list - name: Generate combined service list
run: | run: |
set -euo pipefail echo "[]" > temp_services.json
echo "[]" > combined_services.json # Load .env into environment
if [ -f .env ]; then
export $(grep -v '^#' .env | xargs)
fi
# Read compose files list
IFS=$'\n' read -rd '' -a COMPOSE_FILES <<< "${{ steps.find-compose-files.outputs.compose_files }}"
echo "Processing combined Compose files:" echo "Processing combined Compose files:"
for f in ${{ steps.find-compose-files.outputs.compose_files }}; do for f in "${COMPOSE_FILES[@]}"; do
echo " - $f" echo " $f"
# Use yq to parse service name + image, expanding anchors
yq eval-all '
select(fileIndex == 0) * select(fileIndex > 0) |
.services | to_entries | map({
service: .key,
image: (.value.image // "")
})' "${COMPOSE_FILES[@]}" \
>> temp_services.json
done done
echo "Generating merged docker-compose config..." # Merge all arrays and deduplicate
docker compose \ jq -s 'add | unique_by(.service)' temp_services.json > services.json
$(for f in ${{ steps.find-compose-files.outputs.compose_files }}; do echo "-f $f"; done) \
--env-file .env \
config > combined.yml
echo "Extracting services and images..." echo "Generated services.json:"
yq -o=json '
.services
| to_entries
| map({
service: .key,
image: (.value.image // "null")
})
' combined.yml > combined_services.json
echo "Deduplicating services..."
jq 'unique_by(.service)' combined_services.json > services.json
echo "Final services.json:"
cat services.json cat services.json
- name: Generate Markdown Table - name: Generate Markdown Table