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"