diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index ba7506b..13c03e2 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -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 }}