name: merge manifests on: push: branches: - 'master' workflow_dispatch: jobs: merge-manifests: # 等待所有架构的构建都完成后再运行 runs-on: ubuntu-latest # 合并操作不耗资源,用哪个都行 steps: - name: Login to Docker Hub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: Login to GitHub Container Registry uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ secrets.GHCR_IO_USERNAME }} password: ${{ secrets.GHCR_IO_TOKEN }} - name: Create and push Docker Hub manifest run: | docker manifest create jmal/jmalcloud_native:test \ --amend jmal/jmalcloud_native:test-amd64 \ --amend jmal/jmalcloud_native:test-arm64 docker manifest push jmal/jmalcloud_native:test - name: Create and push GHCR manifest run: | docker manifest create ghcr.io/${{ secrets.GHCR_IO_USERNAME }}/jmalcloud_native:test \ --amend ghcr.io/${{ secrets.GHCR_IO_USERNAME }}/jmalcloud_native:test-amd64 \ --amend ghcr.io/${{ secrets.GHCR_IO_USERNAME }}/jmalcloud_native:test-arm64 docker manifest push ghcr.io/${{ secrets.GHCR_IO_USERNAME }}/jmalcloud_native:test