name: build-image run-name: build and push Docker-Image with tag:${{ github.ref_name }} on: push: tags: - "*" env: image_name: doc_rudi registry: gitea.tebarius.duckdns.org user: tebarius jobs: release-image: runs-on: build-ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Set up QEMU uses: docker/setup-qemu-action@v2 - name: Login to Gitea uses: docker/login-action@v2 with: registry: ${{ env.registry }} username: ${{ env.user }} password: ${{ secrets.DOCKER_PULL_TOKEN }} - name: Build and push run: | # Stelle sicher, dass Buildx aktiviert ist docker buildx create --use # Führe den Multiarch-Build aus und pushe das Image docker buildx build \ --file ./Dockerfile \ --platform linux/amd64,linux/386,linux/arm64,linux/arm/v7 \ --tag ${{ env.registry }}/${{ env.user }}/${{ env.image_name }}:latest \ --tag ${{ env.registry }}/${{ env.user }}/${{ env.image_name }}:${{ github.ref_name }} \ --push ./ telegram-notify: needs: release-image if: always() runs-on: ubuntu-latest steps: - name: Telegram Alert run: | case "${{ needs.release-image.result }}" in "success") EMOJI="✅"; MSG="OK" ;; "failure") EMOJI="❌"; MSG="WARN!" ;; "cancelled") EMOJI="⏹️"; MSG="Canceled" ;; *) EMOJI="❓"; MSG="Unknown-State: ${{ needs.release-image.result }}" ;; esac curl -s -X POST "https://api.telegram.org/bot${{ secrets.TELEGRAM_BOT_TOKEN }}/sendMessage" \ -H 'Content-Type: application/json' \ -d "{ \"chat_id\": \"${{ secrets.TELEGRAM_CHAT_ID }}\", \"parse_mode\": \"HTML\", \"text\": \"$EMOJI $MSG - Build ${{ env.image_name }}:${{ github.ref_name }} $(date +"%Y-%m-%d %T") Build of Image: ${{ env.image_name }}:${{ github.ref_name }} ${{ gitea.server_url }}/${{ gitea.repository }} \" }"