52 lines
1.3 KiB
YAML
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
|