actions/docker/push/action.yaml

33 lines
896 B
YAML

name: Push docker image
inputs:
registry:
required: false
type: string
default: $GITHUB_SERVER_URL
registry_user:
required: false
type: string
default: $GITHUB_REPOSITORY_OWNER
registry_pass:
required: true
type: string
image:
required: false
type: string
default: $GITHUB_REPOSITORY
tag:
required: false
type: string
runs:
using: composite
container: docker
steps:
- name: Push image
run: |
TAG=$([ -n "${{inputs.tag}}" ] && echo "${{inputs.tag}}" || [ "$GITHUB_REF" == "refs/heads/develop" ] && echo "latest" || echo "$GITHUB_REF_NAME" | sed -E "s/[_/]/-/g")
echo "${{inputs.registry_pass}}" | docker login -u "${{inputs.registry_user}}" --password-stdin "${{inputs.registry}}"
REG=$(echo "${{inputs.registry}}" | sed -E "s%https?://%%gi")
docker push "$REG/${{inputs.image}}:$TAG"