name: Build and Push Docker Image on: push: branches: - main jobs: build: runs-on: ubuntu-latest steps: - name: Check out code uses: actions/checkout@v4 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 # Hilfsschritt: Wandelt Repo-Name und User in Kleinbuchstaben um # Docker Registry URLs dürfen KEINE Großbuchstaben enthalten. - name: Lowercase variables id: string run: | echo "repo=$(echo ${{ gitea.repository }} | tr '[:upper:]' '[:lower:]')" >> $GITHUB_OUTPUT echo "actor=$(echo ${{ gitea.actor }} | tr '[:upper:]' '[:lower:]')" >> $GITHUB_OUTPUT - name: Login to Gitea Container Registry uses: docker/login-action@v3 with: registry: git.out.jafre.li # Wir nutzen den kleingeschriebenen Usernamen username: ${{ steps.string.outputs.actor }} # Hier nutzen wir das manuell erstellte Secret (CR_PAT) statt GITHUB_TOKEN password: ${{ secrets.CR_PAT }} - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@v5 with: # Nutze hier auch den kleingeschriebenen Repo-Namen images: git.out.jafre.li/${{ steps.string.outputs.repo }} tags: | type=raw,value=latest type=sha,format=long - name: Build and push uses: docker/build-push-action@v5 with: context: . push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }}