Files
paperlessmanager/.gitea/workflows/build.yml
T
bjoernpoettker 2aba9ff004
Build and Push Multi-Platform Images / build-and-push (push) Successful in 12s
ci: build and tag images for all branches
- 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>
2026-05-21 21:34:38 +02:00

48 lines
1.5 KiB
YAML

name: Build and Push Multi-Platform Images
on:
push:
branches:
- "**"
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:${{ 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:${{ steps.vars.outputs.tag }} \
./paperless-frontend
docker push gitea.poettker-cloud.de/bjoernpoettker/paperlessmanager-frontend:${{ steps.vars.outputs.tag }}