From 18f79402dd45dfe8167203a3b25e0f24d812994b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=87=8C?= Date: Thu, 23 Oct 2025 15:41:19 +0800 Subject: [PATCH 1/5] Add i386 platform support to build workflow --- .github/workflows/build.yml | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 32e67237..eebf49bd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -52,6 +52,7 @@ jobs: - { platform: "arm64", goos: "linux", file_ext: "tar.gz" } - { platform: "armv7l", goos: "linux", file_ext: "tar.gz" } - { platform: "amd64", goos: "windows", file_ext: "zip" } + - { platform: "i386", goos: "linux", file_ext: "tar.gz" } steps: - name: Checkout code uses: actions/checkout@v4 @@ -163,6 +164,7 @@ jobs: - { platform: "amd64", goos: "linux", debian_platform: "amd64", crossbuild_package: ""} - { platform: "arm64", goos: "linux", debian_platform: "arm64", crossbuild_package: "crossbuild-essential-arm64" } - { platform: "armv7l", goos: "linux", debian_platform: "armhf", crossbuild_package: "crossbuild-essential-armhf" } + - { platform: "i386", goos: "linux", debian_platform: "i386", crossbuild_package: "crossbuild-essential-i386" } steps: - name: Checkout @@ -236,6 +238,7 @@ jobs: - { platform: "amd64", goos: "linux", docker_platform: "linux/amd64" } - { platform: "arm64", goos: "linux", docker_platform: "linux/arm64" } - { platform: "armv7l", goos: "linux", docker_platform: "linux/arm/v7" } + - { platform: "i386", goos: "linux", docker_platform: "linux/i386" } steps: - name: Checkout code uses: actions/checkout@v4 @@ -386,7 +389,8 @@ jobs: base-image: ${{ env.BASE_IMAGE_NAMESPACE }}/rustdesk-api:${{ env.TAG }} extra-images: ${{ env.DOCKERHUB_IMAGE_NAMESPACE }}/rustdesk-api:${{ env.TAG }}-amd64, ${{ env.DOCKERHUB_IMAGE_NAMESPACE }}/rustdesk-api:${{ env.TAG }}-armv7l, - ${{ env.DOCKERHUB_IMAGE_NAMESPACE }}/rustdesk-api:${{ env.TAG }}-arm64 + ${{ env.DOCKERHUB_IMAGE_NAMESPACE }}/rustdesk-api:${{ env.TAG }}-arm64, + ${{ env.DOCKERHUB_IMAGE_NAMESPACE }}/rustdesk-api:${{ env.TAG }}-i386 push: true - name: Create and push manifest GHCR (:version) @@ -396,7 +400,8 @@ jobs: base-image: ghcr.io/${{ env.BASE_IMAGE_NAMESPACE }}/rustdesk-api:${{ env.TAG }} extra-images: ghcr.io/${{ env.GHCR_IMAGE_NAMESPACE }}/rustdesk-api:${{ env.TAG }}-amd64, ghcr.io/${{ env.GHCR_IMAGE_NAMESPACE }}/rustdesk-api:${{ env.TAG }}-armv7l, - ghcr.io/${{ env.GHCR_IMAGE_NAMESPACE }}/rustdesk-api:${{ env.TAG }}-arm64 + ghcr.io/${{ env.GHCR_IMAGE_NAMESPACE }}/rustdesk-api:${{ env.TAG }}-arm64, + ghcr.io/${{ env.GHCR_IMAGE_NAMESPACE }}/rustdesk-api:${{ env.TAG }}-i386 push: true amend: true @@ -407,7 +412,8 @@ jobs: base-image: ${{ env.BASE_IMAGE_NAMESPACE }}/rustdesk-api:latest extra-images: ${{ env.DOCKERHUB_IMAGE_NAMESPACE }}/rustdesk-api:latest-amd64, ${{ env.DOCKERHUB_IMAGE_NAMESPACE }}/rustdesk-api:latest-armv7l, - ${{ env.DOCKERHUB_IMAGE_NAMESPACE }}/rustdesk-api:latest-arm64 + ${{ env.DOCKERHUB_IMAGE_NAMESPACE }}/rustdesk-api:latest-arm64, + ${{ env.DOCKERHUB_IMAGE_NAMESPACE }}/rustdesk-api:latest-i386 push: true - name: Create and push manifest GHCR (:latest) @@ -417,7 +423,8 @@ jobs: base-image: ghcr.io/${{ env.BASE_IMAGE_NAMESPACE }}/rustdesk-api:latest extra-images: ghcr.io/${{ env.GHCR_IMAGE_NAMESPACE }}/rustdesk-api:latest-amd64, ghcr.io/${{ env.GHCR_IMAGE_NAMESPACE }}/rustdesk-api:latest-armv7l, - ghcr.io/${{ env.GHCR_IMAGE_NAMESPACE }}/rustdesk-api:latest-arm64 + ghcr.io/${{ env.GHCR_IMAGE_NAMESPACE }}/rustdesk-api:latest-arm64, + ghcr.io/${{ env.GHCR_IMAGE_NAMESPACE }}/rustdesk-api:latest-i386 push: true amend: true @@ -428,7 +435,8 @@ jobs: base-image: ${{ env.BASE_IMAGE_NAMESPACE }}/rustdesk-api:full-s6 extra-images: ${{ env.DOCKERHUB_IMAGE_NAMESPACE }}/rustdesk-api:full-s6-amd64, ${{ env.DOCKERHUB_IMAGE_NAMESPACE }}/rustdesk-api:full-s6-armv7l, - ${{ env.DOCKERHUB_IMAGE_NAMESPACE }}/rustdesk-api:full-s6-arm64 + ${{ env.DOCKERHUB_IMAGE_NAMESPACE }}/rustdesk-api:full-s6-arm64, + ${{ env.DOCKERHUB_IMAGE_NAMESPACE }}/rustdesk-api:full-s6-i386 push: true amend: true @@ -439,6 +447,7 @@ jobs: base-image: ghcr.io/${{ env.BASE_IMAGE_NAMESPACE }}/rustdesk-api:full-s6 extra-images: ghcr.io/${{ env.GHCR_IMAGE_NAMESPACE }}/rustdesk-api:full-s6-amd64, ghcr.io/${{ env.GHCR_IMAGE_NAMESPACE }}/rustdesk-api:full-s6-armv7l, - ghcr.io/${{ env.GHCR_IMAGE_NAMESPACE }}/rustdesk-api:full-s6-arm64 + ghcr.io/${{ env.GHCR_IMAGE_NAMESPACE }}/rustdesk-api:full-s6-arm64, + ghcr.io/${{ env.GHCR_IMAGE_NAMESPACE }}/rustdesk-api:full-s6-i386 push: true - amend: true \ No newline at end of file + amend: true From 37d6ae468d1eed76af28d9e0bd6275604b64bd32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=87=8C?= Date: Thu, 23 Oct 2025 15:46:20 +0800 Subject: [PATCH 2/5] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index eebf49bd..3bb603da 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -238,7 +238,7 @@ jobs: - { platform: "amd64", goos: "linux", docker_platform: "linux/amd64" } - { platform: "arm64", goos: "linux", docker_platform: "linux/arm64" } - { platform: "armv7l", goos: "linux", docker_platform: "linux/arm/v7" } - - { platform: "i386", goos: "linux", docker_platform: "linux/i386" } + - { platform: "i386", goos: "linux", docker_platform: "linux/386" } steps: - name: Checkout code uses: actions/checkout@v4 From 5427e96851e91defebfad4f1242b59400a0ed128 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=87=8C?= Date: Thu, 23 Oct 2025 15:52:29 +0800 Subject: [PATCH 3/5] Update build.yml --- .github/workflows/build.yml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3bb603da..07da67a7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -125,12 +125,17 @@ jobs: tar -xf armv7l-linux-musleabihf-cross.tgz export PATH=$PATH:$PWD/armv7l-linux-musleabihf-cross/bin GOOS=${{ matrix.job.goos }} GOARCH=arm GOARM=7 CC=armv7l-linux-musleabihf-gcc CGO_LDFLAGS="-static" CGO_ENABLED=1 go build -ldflags "-s -w" -o ./release/apimain ./cmd/apimain.go + elif [ "${{ matrix.job.platform }}" = "i386" ] || [ "${{ matrix.job.platform }}" = "386" ]; then + wget https://musl.ljw.red/i686-linux-musl-cross.tgz + tar -xf i686-linux-musl-cross.tgz + export PATH=$PATH:$PWD/i686-linux-musl-cross/bin + GOOS=${{ matrix.job.goos }} GOARCH=386 CC=i686-linux-musl-gcc CGO_LDFLAGS="-static" CGO_ENABLED=1 go build -ldflags "-s -w" -o ./release/apimain ./cmd/apimain.go else - sudo apt-get install musl musl-dev musl-tools -y - GOOS=${{ matrix.job.goos }} GOARCH=${{ matrix.job.platform }} CC=musl-gcc CGO_LDFLAGS="-static" CGO_ENABLED=1 go build -ldflags "-s -w" -o ./release/apimain ./cmd/apimain.go + sudo apt-get install musl musl-dev musl-tools -y + GOOS=${{ matrix.job.goos }} GOARCH=${{ matrix.job.platform }} CC=musl-gcc CGO_LDFLAGS="-static" CGO_ENABLED=1 go build -ldflags "-s -w" -o ./release/apimain ./cmd/apimain.go + fi + tar -czf ${{ matrix.job.goos}}-${{ matrix.job.platform }}.${{matrix.job.file_ext}} ./release fi - tar -czf ${{ matrix.job.goos}}-${{ matrix.job.platform }}.${{matrix.job.file_ext}} ./release - fi - name: Upload artifact uses: actions/upload-artifact@v4 From 376100c68e35cee009d363942ddc7dde63558db7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=87=8C?= Date: Thu, 23 Oct 2025 15:59:54 +0800 Subject: [PATCH 4/5] Update build.yml --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 07da67a7..d4ac4f82 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,9 +16,9 @@ on: required: false default: '' SKIP_DOCKER_HUB: - description: 'Set to true to skip pushing to Docker Hub (default: false)' + description: 'Set to true to skip pushing to Docker Hub (default: true)' required: false - default: 'false' + default: 'true' SKIP_GHCR: description: 'Set to true to skip pushing to GHCR (default: false)' required: false @@ -38,7 +38,7 @@ env: BASE_IMAGE_NAMESPACE: ${{ github.event.inputs.BASE_IMAGE_NAMESPACE || github.actor }} DOCKERHUB_IMAGE_NAMESPACE: ${{ github.event.inputs.DOCKERHUB_IMAGE_NAMESPACE || github.actor }} GHCR_IMAGE_NAMESPACE: ${{ github.event.inputs.GHCR_IMAGE_NAMESPACE || github.actor }} - SKIP_DOCKER_HUB: ${{ github.event.inputs.SKIP_DOCKER_HUB || 'false' }} + SKIP_DOCKER_HUB: ${{ github.event.inputs.SKIP_DOCKER_HUB || 'true' }} SKIP_GHCR: ${{ github.event.inputs.SKIP_GHCR || 'false' }} jobs: build: From f683e0c155f37c4cb601b2d2f89f21b582292774 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=87=8C?= Date: Thu, 23 Oct 2025 16:17:42 +0800 Subject: [PATCH 5/5] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d4ac4f82..3fd8284f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -347,7 +347,7 @@ jobs: uses: docker/build-push-action@v5 with: context: "." - file: ./Dockerfile + file: ./Dockerfile_full_s6 platforms: ${{ matrix.job.docker_platform }} push: true provenance: false