From f87372ead035e53e4a6a7908181c6c6e26feb0fe Mon Sep 17 00:00:00 2001 From: rustdesk Date: Mon, 12 Jan 2026 14:59:12 +0800 Subject: [PATCH] GHCR manifest --- .github/workflows/build.yaml | 68 ++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 5efea9e..6336f14 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -321,6 +321,14 @@ jobs: echo "GIT_TAG=$T" >> $GITHUB_ENV echo "MAJOR_TAG=$M" >> $GITHUB_ENV + - name: Log in to GHCR + if: github.event_name != 'pull_request' + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: rustdesk + password: ${{ secrets.GITHUB_TOKEN }} + # manifest for :1.2.3 tag # this has to run only if invoked by a new tag - name: Create and push manifest (:ve.rs.ion) @@ -347,6 +355,32 @@ jobs: extra-images: ${{ secrets.DOCKER_IMAGE }}:${{ env.LATEST_TAG }}-amd64,${{ secrets.DOCKER_IMAGE }}:${{ env.LATEST_TAG }}-arm64v8,${{ secrets.DOCKER_IMAGE }}:${{ env.LATEST_TAG }}-armv7,${{ secrets.DOCKER_IMAGE }}:${{ env.LATEST_TAG }}-i386 push: true + # GHCR manifests + # manifest for :1.2.3 tag + - name: Create and push GHCR manifest (:ve.rs.ion) + uses: Noelware/docker-manifest-action@0.4.3 + if: github.event_name != 'workflow_dispatch' + with: + base-image: ${{ env.GHCR_IMAGE }}:${{ env.GIT_TAG }} + extra-images: ${{ env.GHCR_IMAGE }}:${{ env.GIT_TAG }}-amd64,${{ env.GHCR_IMAGE }}:${{ env.GIT_TAG }}-arm64v8,${{ env.GHCR_IMAGE }}:${{ env.GIT_TAG }}-armv7,${{ env.GHCR_IMAGE }}:${{ env.GIT_TAG }}-i386 + push: true + + # manifest for :1 tag (major release) + - name: Create and push GHCR manifest (:major) + uses: Noelware/docker-manifest-action@0.4.3 + with: + base-image: ${{ env.GHCR_IMAGE }}:${{ env.MAJOR_TAG }} + extra-images: ${{ env.GHCR_IMAGE }}:${{ env.MAJOR_TAG }}-amd64,${{ env.GHCR_IMAGE }}:${{ env.MAJOR_TAG }}-arm64v8,${{ env.GHCR_IMAGE }}:${{ env.MAJOR_TAG }}-armv7,${{ env.GHCR_IMAGE }}:${{ env.MAJOR_TAG }}-i386 + push: true + + # manifest for :latest tag + - name: Create and push GHCR manifest (:latest) + uses: Noelware/docker-manifest-action@0.4.3 + with: + base-image: ${{ env.GHCR_IMAGE }}:${{ env.LATEST_TAG }} + extra-images: ${{ env.GHCR_IMAGE }}:${{ env.LATEST_TAG }}-amd64,${{ env.GHCR_IMAGE }}:${{ env.LATEST_TAG }}-arm64v8,${{ env.GHCR_IMAGE }}:${{ env.LATEST_TAG }}-armv7,${{ env.GHCR_IMAGE }}:${{ env.LATEST_TAG }}-i386 + push: true + # docker build and push of single-arch images docker-classic: @@ -453,6 +487,14 @@ jobs: echo "GIT_TAG=$T" >> $GITHUB_ENV echo "MAJOR_TAG=$M" >> $GITHUB_ENV + - name: Log in to GHCR + if: github.event_name != 'pull_request' + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: rustdesk + password: ${{ secrets.GITHUB_TOKEN }} + # manifest for :1.2.3 tag # this has to run only if invoked by a new tag - name: Create and push manifest (:ve.rs.ion) @@ -479,6 +521,32 @@ jobs: extra-images: ${{ secrets.DOCKER_IMAGE_CLASSIC }}:${{ env.LATEST_TAG }}-amd64,${{ secrets.DOCKER_IMAGE_CLASSIC }}:${{ env.LATEST_TAG }}-arm64v8,${{ secrets.DOCKER_IMAGE_CLASSIC }}:${{ env.LATEST_TAG }}-armv7 push: true + # GHCR manifests + # manifest for :1.2.3 tag + - name: Create and push GHCR manifest (:ve.rs.ion) + uses: Noelware/docker-manifest-action@0.4.3 + if: github.event_name != 'workflow_dispatch' + with: + base-image: ${{ env.GHCR_IMAGE_CLASSIC }}:${{ env.GIT_TAG }} + extra-images: ${{ env.GHCR_IMAGE_CLASSIC }}:${{ env.GIT_TAG }}-amd64,${{ env.GHCR_IMAGE_CLASSIC }}:${{ env.GIT_TAG }}-arm64v8,${{ env.GHCR_IMAGE_CLASSIC }}:${{ env.GIT_TAG }}-armv7 + push: true + + # manifest for :1 tag (major release) + - name: Create and push GHCR manifest (:major) + uses: Noelware/docker-manifest-action@0.4.3 + with: + base-image: ${{ env.GHCR_IMAGE_CLASSIC }}:${{ env.MAJOR_TAG }} + extra-images: ${{ env.GHCR_IMAGE_CLASSIC }}:${{ env.MAJOR_TAG }}-amd64,${{ env.GHCR_IMAGE_CLASSIC }}:${{ env.MAJOR_TAG }}-arm64v8,${{ env.GHCR_IMAGE_CLASSIC }}:${{ env.MAJOR_TAG }}-armv7 + push: true + + # manifest for :latest tag + - name: Create and push GHCR manifest (:latest) + uses: Noelware/docker-manifest-action@0.4.3 + with: + base-image: ${{ env.GHCR_IMAGE_CLASSIC }}:${{ env.LATEST_TAG }} + extra-images: ${{ env.GHCR_IMAGE_CLASSIC }}:${{ env.LATEST_TAG }}-amd64,${{ env.GHCR_IMAGE_CLASSIC }}:${{ env.LATEST_TAG }}-arm64v8,${{ env.GHCR_IMAGE_CLASSIC }}:${{ env.LATEST_TAG }}-armv7 + push: true + deb-package: