ci: build and tag images for all branches
Build and Push Multi-Platform Images / build-and-push (push) Successful in 12s

- Trigger build on all branches (not only main)
- Tag image as 'latest' for main, branch name otherwise
- Sanitize branch name for Docker tag (slashes → dashes, lowercase)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-21 21:34:38 +02:00
parent f482304061
commit 2aba9ff004
+26 -5
View File
@@ -3,24 +3,45 @@ name: Build and Push Multi-Platform Images
on:
push:
branches:
- main
- "**"
jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set image tag
id: vars
run: |
BRANCH_NAME="${GITHUB_REF_NAME}"
# Docker-Tags dürfen z. B. keine Slashes enthalten
SAFE_BRANCH_NAME=$(echo "$BRANCH_NAME" | tr '/' '-' | tr '[:upper:]' '[:lower:]')
if [ "$BRANCH_NAME" = "main" ]; then
echo "tag=latest" >> "$GITHUB_OUTPUT"
else
echo "tag=$SAFE_BRANCH_NAME" >> "$GITHUB_OUTPUT"
fi
- name: Login to Gitea Container Registry
run: echo "${{ secrets.REGISTRY_TOKEN }}" | docker login gitea.poettker-cloud.de -u "${{ gitea.actor }}" --password-stdin
- name: Build and Push Backend
run: |
docker build -t gitea.poettker-cloud.de/bjoernpoettker/paperlessmanager-backend:latest ./paperless-backend
docker push gitea.poettker-cloud.de/bjoernpoettker/paperlessmanager-backend:latest
docker build \
-t gitea.poettker-cloud.de/bjoernpoettker/paperlessmanager-backend:${{ steps.vars.outputs.tag }} \
./paperless-backend
docker push gitea.poettker-cloud.de/bjoernpoettker/paperlessmanager-backend:${{ steps.vars.outputs.tag }}
- name: Build and Push Frontend
run: |
docker build -t gitea.poettker-cloud.de/bjoernpoettker/paperlessmanager-frontend:latest ./paperless-frontend
docker push gitea.poettker-cloud.de/bjoernpoettker/paperlessmanager-frontend:latest
docker build \
-t gitea.poettker-cloud.de/bjoernpoettker/paperlessmanager-frontend:${{ steps.vars.outputs.tag }} \
./paperless-frontend
docker push gitea.poettker-cloud.de/bjoernpoettker/paperlessmanager-frontend:${{ steps.vars.outputs.tag }}