actions/docker.yaml

46 lines
1.2 KiB
YAML
Raw Normal View History

2023-07-28 10:27:37 -04:00
name: Build & push docker image
on:
workflow_call:
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
jobs:
build:
name: Build & push docker image
runs-on: Docker
container:
image: node:16
steps:
- name: Login to registry
run: |
REGISTRY=$([ "${{inputs.registry}}" -n ] && 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=$([ "${{inputs.tag}}" -n ] && 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"