name: Build and Publish Docker Images on: push: branches: - main - master tags: - 'v*.*.*' pull_request: branches: - main - master jobs: build-and-push: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Set image name id: image run: | # Normalize repository name to lowercase REPO_LOWER=$(echo "${{ gitea.repository }}" | tr '[:upper:]' '[:lower:]') GITEA_REGISTRY="${{ gitea.server_url }}" # Remove https:// from server URL for registry GITEA_HOST=$(echo "$GITEA_REGISTRY" | sed 's|https://||' | sed 's|http://||') echo "gitea_host=${GITEA_HOST}" >> $GITHUB_OUTPUT echo "gitea_image=${GITEA_HOST}/${REPO_LOWER}" >> $GITHUB_OUTPUT - name: Log in to Gitea Container Registry if: github.event_name != 'pull_request' uses: docker/login-action@v3 with: registry: ${{ steps.image.outputs.gitea_host }} username: ${{ gitea.actor }} password: ${{ secrets.AUTH_TOKEN }} - name: Generate tags id: tags run: | GITEA_IMG="${{ steps.image.outputs.gitea_image }}" if [[ "${{ github.ref }}" == refs/tags/v* ]]; then VERSION=${GITHUB_REF#refs/tags/v} TAGS="${GITEA_IMG}:${VERSION},${GITEA_IMG}:latest" else TAGS="${GITEA_IMG}:latest" fi echo "tags=${TAGS}" >> $GITHUB_OUTPUT - name: Build and push Docker image uses: docker/build-push-action@v5 with: context: . platforms: linux/amd64,linux/arm64,linux/arm/v7 push: ${{ github.event_name != 'pull_request' }} tags: ${{ steps.tags.outputs.tags }} labels: | org.opencontainers.image.title=Maskarr org.opencontainers.image.description=Tracker Proxy for *arr Applications org.opencontainers.image.source=${{ gitea.server_url }}/${{ gitea.repository }} org.opencontainers.image.revision=${{ gitea.sha }} org.opencontainers.image.created=${{ gitea.event.repository.updated_at }} - name: Print summary if: github.event_name != 'pull_request' run: | echo "✅ Docker image published successfully!" echo "" echo "Gitea Registry:" echo " ${{ steps.image.outputs.gitea_image }}:latest"