From 635490f3ede61454b07a15d195a3da87a851041d Mon Sep 17 00:00:00 2001 From: rockbenben Date: Sat, 14 Sep 2024 16:09:46 +0800 Subject: [PATCH] ci: push Docker images to GHCR and Docker Hub --- .github/workflows/docker.yml | 41 +++++++++++++++++++++++------------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index a20a2b1fd..f3a10dd94 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -1,4 +1,4 @@ -name: Publish Docker image +name: 🐳 Build and Push Docker Image on: workflow_dispatch: @@ -7,32 +7,43 @@ on: jobs: push_to_registry: - name: Push Docker image to Docker Hub + name: Push Docker image to Docker Hub and GHCR runs-on: ubuntu-latest steps: - - name: Check out the repo + - name: 🚚 Check out the repo uses: actions/checkout@v4 - - name: Log in to Docker Hub + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: 🔑 Log in to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ vars.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: 🔐 Login to GitHub Container Registry uses: docker/login-action@v3 with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} - - name: Extract metadata (tags, labels) for Docker + - name: 🏷️ Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@v5 with: - images: rockben/chatgpt-shortcut + images: | + ${{ vars.DOCKERHUB_USERNAME }}/chatgpt-shortcut + ghcr.io/${{ github.repository_owner }}/chatgpt-shortcut tags: | - type=raw,value=latest type=ref,event=tag + type=raw,value=latest - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - + # Build and push Docker image to both Docker Hub and GHCR - name: Build and push Docker image uses: docker/build-push-action@v6 with: