actions/docker/action.yaml

46 lines
1.2 KiB
YAML

name: Push docker image
description: Build the local docker file & push to the registry
inputs:
registry:
required: false
type: string
image:
required: true
type: string
tag:
required: false
type: string
secrets:
registry_user:
required: true
type: string
registry_pass:
required: true
type: string
runs:
using: composite
steps:
- name: Install docker
run: |
apt update && apt install curl -y
curl -fsSL https://get.docker.com | sh || echo "Success!"
- name: Login to registry
run: |
REGISTRY=$([ -n "${{inputs.registry}}" ] && echo "${{inputs.registry}}" || echo "$GITHUB_SERVER_URL")
echo "${{secrets.registry_pass}}" | docker login -u "${{secrets.registry_user}}" --password-stdin "$REGISTRY"
- uses: actions/checkout@v3
- name: Create tag
run: TAG=$([ -n "${{inputs.tag}}" ] && echo "${{inputs.tag}}" || [ "$GITHUB_REF" == "refs/heads/develop" ] && echo "latest" || echo "$GITHUB_REF_NAME" | sed -E "s/[_/]/-/g")
- name: Build image
run: docker build --no-cache -t "${{inputs.image}}:$TAG" .
- name: Push image
run: docker push "${{inputs.image}}:$TAG"