...
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user