docker-image/action.yml

56 lines
2.0 KiB
YAML
Raw Normal View History

2023-12-09 19:17:48 +01:00
name: 'Docker image' # TODO: rewrite to go
description: 'Make docker image'
inputs:
deployment_login:
description: 'Deployment login'
required: true
registry:
description: 'Registry'
required: true
image_name:
description: 'Image name'
required: true
2025-01-25 12:38:49 +01:00
docker_version_prefix:
description: 'docker image version prefix'
required: false
default: ''
additional_args:
2023-12-09 19:17:48 +01:00
description: 'Docker build arguments'
required: false
default: ''
2025-01-25 12:38:49 +01:00
additional_version:
description: 'Additional version'
required: false
default: ''
2023-12-09 19:17:48 +01:00
outputs:
image_version:
description: "Image version"
value: ${{ steps.git.outputs.short_hash }}
runs:
using: "composite"
steps:
- uses: https://github.com/actions/checkout.git@v4
- name: Login to ${{inputs.registry}}
uses: https://github.com/docker/login-action@v3
with:
username: ${{ inputs.deployment_login }}
password: ${{ inputs.deployment_login }}
registry: ${{inputs.registry}}
- name: Get short hash from git repository
id: git
run: echo "::set-output name=short_hash::$(git rev-parse --short HEAD)"
shell: sh
2025-01-25 12:38:49 +01:00
- name: Store image version
id: image
run: echo "::set-output name=version::${{ inputs.image_name }}:${{inputs.docker_version_prefix}}-${{ steps.git.outputs.short_hash }}"
shell: sh
- name: Build additional args (version etc.)
id: additional_args
run: echo "::set-output name=additional_args::$(if [[ "${{inputs.additional_version}}" != "" ]]; then echo "-t ${{ inputs.image_name }}:${{inputs.additional_version}}-${{inputs.docker_version_prefix}}"; else echo ""; fi)"
shell: sh
2023-12-09 19:17:48 +01:00
- name: Build and push docker
run: |
2025-01-25 12:38:49 +01:00
docker build . -t ${{ inputs.image_name }}:${{inputs.docker_version_prefix}}${{ steps.git.outputs.short_hash }} ${{steps.additional_args.outputs.additional_args}} ${{ inputs.additional_args }} && \
2023-12-09 19:17:48 +01:00
docker push ${{ inputs.image_name }}:${{ steps.git.outputs.short_hash }}
shell: sh