Skip to content

Merge pull request #75 from tigerblue77/73-improve-code-structure #12

Merge pull request #75 from tigerblue77/73-improve-code-structure

Merge pull request #75 from tigerblue77/73-improve-code-structure #12

name: Docker image CI
on:
push:
branches: [ master ]
paths-ignore:
- '**/README.md'
jobs:
build:
name: Build and publish Docker image to Docker Hub and GitHub Containers Repository
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Remove "_Docker" suffix from GitHub repository name to use it as image name
uses: mad9000/actions-find-and-replace-string@3
id: docker_image_name
with:
source: ${{ github.repository }}
find: '_Docker'
replace: ''
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: |
${{ steps.docker_image_name.outputs.value }}
ghcr.io/${{ steps.docker_image_name.outputs.value }}
tags: type=raw,value=latest
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and publish Docker image
uses: docker/build-push-action@v4
with:
context: .
platforms: linux/amd64,linux/arm64
file: ./Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}