46 lines
1.7 KiB
YAML
46 lines
1.7 KiB
YAML
name: 'Docker Target Image List Generator'
|
|
description: 'A Github Action to generate a list of fully qualified target images for docker related steps'
|
|
inputs:
|
|
registries:
|
|
description: "Comma separated list of docker registries"
|
|
required: false
|
|
default: "docker.io,quay.io,ghcr.io"
|
|
images:
|
|
description: "Comma separated list of images"
|
|
required: true
|
|
tags:
|
|
description: "Comma separated list of image tags"
|
|
required: false
|
|
default: "edge"
|
|
outputs:
|
|
fully-qualified-target-images:
|
|
description: "List of fully qualified docker target images"
|
|
value: ${{ steps.gen-fqti.outputs.fully-qualified-target-images }}
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: Generate fully qualified docker target images
|
|
id: gen-fqti
|
|
shell: bash
|
|
run: |
|
|
IFS=',' read -r -a registries <<< "${{ inputs.registries }}"
|
|
IFS=',' read -r -a images <<< "${{ inputs.images }}"
|
|
IFS=',' read -r -a tags <<< "${{ inputs.tags }}"
|
|
FQTI=""
|
|
echo "Generating fully qualified docker target images for:"
|
|
echo "🐋 Registries: ${#registries[@]}"
|
|
echo "📷 Images: ${#images[@]}"
|
|
echo "🏷️ Tags: ${#tags[@]}"
|
|
echo "🧮 Total: $((${#registries[@]}*${#images[@]}*${#tags[@]}))"
|
|
for registry in "${registries[@]}"; do
|
|
for image in "${images[@]}"; do
|
|
for tag in "${tags[@]}"; do
|
|
if [ -z "$FQTI" ]; then
|
|
FQTI="${registry}/${image}:${tag}"
|
|
else
|
|
FQTI="$FQTI,${registry}/${image}:${tag}"
|
|
fi
|
|
done
|
|
done
|
|
done
|
|
echo ::set-output name=fully-qualified-target-images::${FQTI}
|