This commit is contained in:
Vylyne 2025-12-14 23:37:37 +00:00 committed by GitHub
commit c1df2bdd0e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 41 additions and 17 deletions

View file

@ -1,16 +1,16 @@
---
name: Build and Push Docker Image
permissions:
contents: read
packages: write
on:
# Allows you to run workflow manually from Actions tab
workflow_dispatch:
inputs:
tags:
description: 'Docker Tag'
required: true
default: 'latest'
push:
branches: [main, master]
branches:
- main
- master
- dev/*
tags:
- 'v*.*.*'
# Only build when files in these directories have been changed
@ -22,7 +22,7 @@ on:
jobs:
build:
if: ${{ !contains(github.event.head_commit.message, 'skip ci') && github.repository == 'advplyr/audiobookshelf' }}
if: ${{ !contains(github.event.head_commit.message, 'skip ci') }}
runs-on: ubuntu-24.04
steps:
@ -33,10 +33,16 @@ jobs:
id: meta
uses: docker/metadata-action@v5
with:
images: advplyr/audiobookshelf,ghcr.io/${{ github.repository_owner }}/audiobookshelf
images: |
name=${{ secrets.DOCKERHUB_USERNAME }}/audiobookshelf,enable=${{ github.ref == 'refs/heads/main' && secrets.DOCKERHUB_USERNAME != '' && secrets.DOCKERHUB_TOKEN != '' }}
name=ghcr.io/${{ github.repository }},enable=true
tags: |
type=raw,value=latest,enable=${{ github.ref == 'refs/heads/main' }}
type=edge,branch=master
type=semver,pattern={{version}}
type=ref,event=branch
type=ref,event=pr
type=sha
- name: Setup QEMU
uses: docker/setup-qemu-action@v3
@ -54,6 +60,10 @@ jobs:
- name: Login to Dockerhub
uses: docker/login-action@v3
env: # secrets for Docker hub username and token should be in the registry settings if not docker hub push will be skipped.
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME || '' }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN || '' }}
if: ${{ github.ref == 'refs/heads/main' && env.DOCKERHUB_USERNAME != '' && env.DOCKERHUB_TOKEN != '' }}
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
@ -62,13 +72,13 @@ jobs:
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GHCR_PASSWORD }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build image
uses: docker/build-push-action@v6
with:
tags: ${{ github.event.inputs.tags || steps.meta.outputs.tags }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
context: .
platforms: linux/amd64,linux/arm64