rdt-client/.github/workflows/docker-image.yml
2023-03-17 16:13:38 -04:00

96 lines
2.9 KiB
YAML

name: Docker Image CI
on:
push:
branches: [ "master" ]
permissions:
packages: write
env:
APP_NAME: rdt-client
DOCKER_FILE: ./Dockerfile
ENABLE_DOCKERHUB: 0
ENABLE_GHCR: 1
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Docker Metadata action
id: meta
uses: docker/metadata-action@v4.3.0
with:
images: |
# ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.APP_NAME }}
ghcr.io/${{ secrets.DOCKERHUB_USERNAME }}/${{ env.APP_NAME }}
tags: |
type=schedule
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
type=sha
# List of custom labels
# labels: # optional
- name: Docker Setup QEMU
uses: docker/setup-qemu-action@v2.1.0
- name: Docker Setup Buildx
uses: docker/setup-buildx-action@v2.5.0
with:
buildkitd-flags: --debug
- name: Docker Login
if: ${{ github.event_name != 'pull_request' && env.ENABLE_DOCKERHUB == 1 }}
uses: docker/login-action@v2.1.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GHCR
if: ${{ github.event_name != 'pull_request' && env.ENABLE_GHCR == 1 }}
uses: docker/login-action@v2.1.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push Docker images
uses: docker/build-push-action@v4.0.0
with:
context: .
file: ${{ env.DOCKER_FILE }}
platforms: "linux/arm/v7,linux/arm64/v8,linux/amd64"
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
- name: Docker Hub Registry Description
if: ${{ env.ENABLE_DOCKERHUB == 1 }}
uses: peter-evans/dockerhub-description@v3.3.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
repository: ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.APP_NAME }}
short-description: |
a web interface to manage your torrents on Real-Debrid, AllDebrid or Premiumize.
readme-filepath: ./README-DOCKER.md
- name: Github Registry Description
if: ${{ env.ENABLE_GHCR == 1 }}
uses: peter-evans/dockerhub-description@v3.3.0
with:
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
short-description: |
A web interface to manage your torrents on Real-Debrid, AllDebrid or Premiumize.
readme-filepath: ./README-DOCKER.md