name: Build and Push Multi-Arch Docker Image for Test
on:
  push:
    branches:
      - dev
  workflow_dispatch:  # 添加手动触发
jobs:
  build-and-push:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      packages: write  # 必须授权以推送镜像
    env:
      REPO_NAME: ${{ github.repository }}
    steps:
      - name: 检出代码
        uses: actions/checkout@v4

      - name: 设置小写镜像名称
        run: |
          LOWER_NAME=$(echo "$REPO_NAME" | tr '[:upper:]' '[:lower:]')
          echo "LOWER_NAME=$LOWER_NAME" >> $GITHUB_ENV

      - name: 登录到 GitHub Container Registry
        uses: docker/login-action@v2
        with:
          registry: ghcr.io
          username: ${{ github.actor }}
          password: ${{ secrets.GITHUB_TOKEN }}

      - name: 设置 QEMU 支持多架构
        uses: docker/setup-qemu-action@v2

      - name: 设置 Docker Buildx
        uses: docker/setup-buildx-action@v2

      - name: 构建并推送多架构 Docker 镜像
        uses: docker/build-push-action@v4
        with:
          context: .
          platforms: linux/amd64,linux/arm64  # 指定架构：x86_64 和 ARM64
          push: true
          tags: |
            ghcr.io/${{ env.LOWER_NAME }}:test
