Also push image to ghcr.io/gameyfin/app

Use caching in Docker build
Improve error handling
This commit is contained in:
grimsi
2025-07-24 20:32:45 +02:00
parent 3d8f60a7f5
commit 34fa7cbabe
5 changed files with 159 additions and 43 deletions
@@ -0,0 +1,57 @@
name: 'Docker Build and Push'
description: 'Builds and pushes Docker images to Docker Hub and GHCR with flexible tagging.'
runs:
using: 'composite'
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ inputs.dockerhub_username }}
password: ${{ inputs.dockerhub_token }}
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ inputs.ghcr_username }}
password: ${{ inputs.ghcr_token }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: ${{ inputs.context }}
file: ${{ inputs.dockerfile }}
platforms: ${{ inputs.platforms }}
push: true
tags: ${{ inputs.tags }}
cache-from: type=gha
cache-to: type=gha
inputs:
dockerhub_username:
required: true
description: 'Docker Hub username'
dockerhub_token:
required: true
description: 'Docker Hub token'
ghcr_username:
required: true
description: 'GHCR username'
ghcr_token:
required: true
description: 'GHCR token'
context:
required: true
description: 'Build context'
dockerfile:
required: true
description: 'Dockerfile path'
platforms:
required: true
description: 'Platforms to build for'
tags:
required: true
description: 'Comma-separated list of image tags'