mirror of
https://github.com/BrenBroZAYT/gameyfin.git
synced 2026-06-13 16:40:01 +00:00
34fa7cbabe
Use caching in Docker build Improve error handling
58 lines
1.5 KiB
YAML
58 lines
1.5 KiB
YAML
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'
|