From 7e5fb514cbca98c27069624d74e97dec64e47efd Mon Sep 17 00:00:00 2001 From: shaw Date: Sun, 20 Jul 2025 20:33:00 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20Docker=20=E9=95=9C?= =?UTF-8?q?=E5=83=8F=E7=89=88=E6=9C=AC=E5=8F=B7=E4=B8=8E=20Release=20?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=8F=B7=E4=B8=8D=E4=B8=80=E8=87=B4=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 auto-release.yml 中集成 Docker 构建步骤,确保版本号一致性 - 优化 docker-publish.yml 的标签生成策略,添加 sha- 前缀避免混淆 - 现在每次自动发布时会同时构建对应版本的 Docker 镜像 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .github/workflows/auto-release.yml | 35 ++++++++++++++++++++++++++++ .github/workflows/docker-publish.yml | 4 ++-- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index d3e1559e..aeb0a145 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -142,6 +142,41 @@ jobs: git push origin main fi + # Docker 构建和推送步骤 + - name: Set up QEMU + if: steps.check_changes.outputs.has_changes == 'true' + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + if: steps.check_changes.outputs.has_changes == 'true' + uses: docker/setup-buildx-action@v3 + + - name: Log in to Docker Hub + if: steps.check_changes.outputs.has_changes == 'true' + uses: docker/login-action@v3 + with: + registry: docker.io + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Build and push Docker image + if: steps.check_changes.outputs.has_changes == 'true' + uses: docker/build-push-action@v5 + with: + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: | + ${{ secrets.DOCKERHUB_USERNAME }}/claude-relay-service:${{ steps.next_version.outputs.new_tag }} + ${{ secrets.DOCKERHUB_USERNAME }}/claude-relay-service:latest + ${{ secrets.DOCKERHUB_USERNAME }}/claude-relay-service:${{ steps.next_version.outputs.new_version }} + labels: | + org.opencontainers.image.version=${{ steps.next_version.outputs.new_version }} + org.opencontainers.image.created=${{ steps.next_version.outputs.created }} + org.opencontainers.image.revision=${{ github.sha }} + cache-from: type=gha + cache-to: type=gha,mode=max + - name: Send Telegram Notification if: steps.check_changes.outputs.has_changes == 'true' && env.TELEGRAM_BOT_TOKEN != '' && env.TELEGRAM_CHAT_ID != '' env: diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index b7d12fd6..904591d6 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -46,10 +46,10 @@ jobs: tags: | type=ref,event=branch type=ref,event=pr - type=semver,pattern={{version}} + type=semver,pattern={{version}},priority=1000 type=semver,pattern={{major}}.{{minor}} type=semver,pattern={{major}} - type=sha + type=sha,prefix=sha-,format=short type=raw,value=latest,enable={{is_default_branch}} - name: Build and push Docker image