From 73d29e95ddc61c12fbb951934d91574294c3715c Mon Sep 17 00:00:00 2001 From: majinghe <42570491+majinghe@users.noreply.github.com> Date: Mon, 9 Mar 2026 16:22:28 +0800 Subject: [PATCH] feat:add docker image support for quay.io and ghcr.io (#2107) Co-authored-by: houseme --- .github/workflows/docker.yml | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 25741c402..d0581f4a4 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -66,6 +66,7 @@ env: CARGO_TERM_COLOR: always REGISTRY_DOCKERHUB: rustfs/rustfs REGISTRY_GHCR: ghcr.io/${{ github.repository }} + REGISTRY_QUAY: quay.io/${{ secrets.QUAY_USERNAME }}/rustfs DOCKER_PLATFORMS: linux/amd64,linux/arm64 jobs: @@ -287,12 +288,19 @@ jobs: username: ${{ env.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - # - name: Login to GitHub Container Registry - # uses: docker/login-action@v3 - # with: - # registry: ghcr.io - # username: ${{ github.actor }} - # password: ${{ secrets.GITHUB_TOKEN }} + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Login to Quay.io + uses: docker/login-action@v3 + with: + registry: quay.io + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -338,14 +346,15 @@ jobs: # Generate tags based on build type # Only support release and prerelease builds (no development builds) - TAGS="${{ env.REGISTRY_DOCKERHUB }}:${VERSION}${VARIANT_SUFFIX}" + TAG_BASE="${VERSION}${VARIANT_SUFFIX}" + TAGS="${{ env.REGISTRY_DOCKERHUB }}:$TAG_BASE,${{ env.REGISTRY_GHCR }}:$TAG_BASE,${{ env.REGISTRY_QUAY }}:$TAG_BASE" # Add channel tags for prereleases and latest for stable if [[ "$CREATE_LATEST" == "true" ]]; then # TODO: Temporary change - the current alpha version will also create the latest tag # After the version is stabilized, the logic here remains unchanged, but the upstream CREATE_LATEST setting needs to be restored. # Stable release (and temporary alpha versions) - TAGS="$TAGS,${{ env.REGISTRY_DOCKERHUB }}:latest${VARIANT_SUFFIX}" + TAGS="$TAGS,${{ env.REGISTRY_DOCKERHUB }}:latest${VARIANT_SUFFIX},${{ env.REGISTRY_GHCR }}:latest${VARIANT_SUFFIX},${{ env.REGISTRY_QUAY }}:latest${VARIANT_SUFFIX}" elif [[ "$BUILD_TYPE" == "prerelease" ]]; then # Prerelease channel tags (alpha, beta, rc) if [[ "$VERSION" == *"alpha"* ]]; then @@ -357,7 +366,7 @@ jobs: fi if [[ -n "$CHANNEL" ]]; then - TAGS="$TAGS,${{ env.REGISTRY_DOCKERHUB }}:${CHANNEL}${VARIANT_SUFFIX}" + TAGS="$TAGS,${{ env.REGISTRY_DOCKERHUB }}:${CHANNEL}${VARIANT_SUFFIX},${{ env.REGISTRY_GHCR }}:${CHANNEL}${VARIANT_SUFFIX},${{ env.REGISTRY_QUAY }}:${CHANNEL}${VARIANT_SUFFIX}" fi fi