Files
publish-docker-image/action.yaml
2025-11-04 05:31:48 +00:00

52 lines
1.3 KiB
YAML

name: "publish docker image"
description: "Tag and push docker image to GCP artifact registry"
inputs:
image_name:
required: true
image_local_tag:
required: false
default: "latest"
image_remote_tag:
required: false
default: ""
repository_location:
required: false
default: "europe-docker.pkg.dev/puzzle-and-play/docker"
tag_commit:
required: false
default: true
runs:
using: composite
steps:
- name: "publish docker image"
env:
IMAGE_LOCAL_NAME: "${{ inputs.image_name }}"
IMAGE_LOCAL_TAG: "${{ inputs.image_local_tag }}"
IMAGE_REMOTE_NAME: "${{ inputs.repository_location }}/${{ inputs.image_name }}"
IMAGE_REMOTE_TAG: "${{ inputs.image_remote_tag }}"
TAG_COMMIT: "${{ inputs.tag_commit }}"
run: |
: ${IMAGE_REMOTE_TAG:="${{ github.ref_name }}-${{ github.run_number }}"}
echo "image: $IMAGE_REMOTE_NAME:$IMAGE_REMOTE_TAG"
docker tag \
"$IMAGE_LOCAL_NAME:$IMAGE_LOCAL_TAG" \
"$IMAGE_REMOTE_NAME:$IMAGE_REMOTE_TAG"
docker push "$IMAGE_REMOTE_NAME:$IMAGE_REMOTE_TAG"
if [[ "$TAG_COMMIT" == "true" ]]; then
TAG_NAME="image-$IMAGE_REMOTE_TAG"
echo "tagging commit with $TAG_NAME"
git tag -f "$TAG_NAME"
git push -f origin $TAG_NAME
fi