ljw 1 год назад
Родитель
Сommit
b1817ca63f
1 измененных файлов с 11 добавлено и 0 удалено
  1. 11 0
      .github/workflows/build.yml

+ 11 - 0
.github/workflows/build.yml

@@ -50,6 +50,7 @@ jobs:
50
         job:
50
         job:
51
           - { platform: "amd64", goos: "linux" }
51
           - { platform: "amd64", goos: "linux" }
52
           - { platform: "arm64", goos: "linux" }
52
           - { platform: "arm64", goos: "linux" }
53
+          - { platform: "armv7l", goos: "linux" }
53
           - { platform: "amd64", goos: "windows" }
54
           - { platform: "amd64", goos: "windows" }
54
 
55
 
55
     steps:
56
     steps:
@@ -103,6 +104,11 @@ jobs:
103
                 tar -xf aarch64-linux-musl-cross.tgz
104
                 tar -xf aarch64-linux-musl-cross.tgz
104
                 export PATH=$PATH:$PWD/aarch64-linux-musl-cross/bin
105
                 export PATH=$PATH:$PWD/aarch64-linux-musl-cross/bin
105
                 GOOS=${{ matrix.job.goos }} GOARCH=${{ matrix.job.platform }} CC=aarch64-linux-musl-gcc CGO_LDFLAGS="-static" CGO_ENABLED=1 go build -ldflags "-s -w" -o ./release/apimain ./cmd/apimain.go
106
                 GOOS=${{ matrix.job.goos }} GOARCH=${{ matrix.job.platform }} CC=aarch64-linux-musl-gcc CGO_LDFLAGS="-static" CGO_ENABLED=1 go build -ldflags "-s -w" -o ./release/apimain ./cmd/apimain.go
107
+            elif [ "${{ matrix.job.platform }}" = "armv7l" ]; then
108
+                wget https://musl.cc/armv7l-linux-musleabihf-cross.tgz
109
+                tar -xf armv7l-linux-musleabihf-cross.tgz
110
+                export PATH=$PATH:$PWD/armv7l-linux-musleabihf-cross/bin
111
+                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
106
             else
112
             else
107
               sudo apt-get install musl musl-dev musl-tools -y
113
               sudo apt-get install musl musl-dev musl-tools -y
108
               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
114
               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
@@ -137,6 +143,7 @@ jobs:
137
         job:
143
         job:
138
           - { platform: "amd64", goos: "linux",  docker_platform: "linux/amd64" }
144
           - { platform: "amd64", goos: "linux",  docker_platform: "linux/amd64" }
139
           - { platform: "arm64", goos: "linux",  docker_platform: "linux/arm64" }
145
           - { platform: "arm64", goos: "linux",  docker_platform: "linux/arm64" }
146
+          - { platform: "armv7l", goos: "linux",  docker_platform: "linux/arm/v7" }
140
     steps:
147
     steps:
141
       - name: Checkout code
148
       - name: Checkout code
142
         uses: actions/checkout@v4
149
         uses: actions/checkout@v4
@@ -257,6 +264,7 @@ jobs:
257
         with:
264
         with:
258
           base-image: ${{ env.BASE_IMAGE_NAMESPACE }}/rustdesk-api:${{ env.TAG }}
265
           base-image: ${{ env.BASE_IMAGE_NAMESPACE }}/rustdesk-api:${{ env.TAG }}
259
           extra-images: ${{ env.DOCKERHUB_IMAGE_NAMESPACE }}/rustdesk-api:${{ env.TAG }}-amd64,
266
           extra-images: ${{ env.DOCKERHUB_IMAGE_NAMESPACE }}/rustdesk-api:${{ env.TAG }}-amd64,
267
+            ${{ env.DOCKERHUB_IMAGE_NAMESPACE }}/rustdesk-api:${{ env.TAG }}-armv7l,
260
             ${{ env.DOCKERHUB_IMAGE_NAMESPACE }}/rustdesk-api:${{ env.TAG }}-arm64
268
             ${{ env.DOCKERHUB_IMAGE_NAMESPACE }}/rustdesk-api:${{ env.TAG }}-arm64
261
           push: true
269
           push: true
262
 
270
 
@@ -266,6 +274,7 @@ jobs:
266
         with:
274
         with:
267
           base-image: ghcr.io/${{ env.BASE_IMAGE_NAMESPACE }}/rustdesk-api:${{ env.TAG }}
275
           base-image: ghcr.io/${{ env.BASE_IMAGE_NAMESPACE }}/rustdesk-api:${{ env.TAG }}
268
           extra-images: ghcr.io/${{ env.GHCR_IMAGE_NAMESPACE }}/rustdesk-api:${{ env.TAG }}-amd64,
276
           extra-images: ghcr.io/${{ env.GHCR_IMAGE_NAMESPACE }}/rustdesk-api:${{ env.TAG }}-amd64,
277
+            ghcr.io/${{ env.GHCR_IMAGE_NAMESPACE }}/rustdesk-api:${{ env.TAG }}-armv7l,
269
             ghcr.io/${{ env.GHCR_IMAGE_NAMESPACE }}/rustdesk-api:${{ env.TAG }}-arm64
278
             ghcr.io/${{ env.GHCR_IMAGE_NAMESPACE }}/rustdesk-api:${{ env.TAG }}-arm64
270
           push: true
279
           push: true
271
           amend: true
280
           amend: true
@@ -276,6 +285,7 @@ jobs:
276
         with:
285
         with:
277
           base-image: ${{ env.BASE_IMAGE_NAMESPACE }}/rustdesk-api:latest
286
           base-image: ${{ env.BASE_IMAGE_NAMESPACE }}/rustdesk-api:latest
278
           extra-images: ${{ env.DOCKERHUB_IMAGE_NAMESPACE }}/rustdesk-api:latest-amd64,
287
           extra-images: ${{ env.DOCKERHUB_IMAGE_NAMESPACE }}/rustdesk-api:latest-amd64,
288
+            ${{ env.DOCKERHUB_IMAGE_NAMESPACE }}/rustdesk-api:latest-armv7l,
279
             ${{ env.DOCKERHUB_IMAGE_NAMESPACE }}/rustdesk-api:latest-arm64
289
             ${{ env.DOCKERHUB_IMAGE_NAMESPACE }}/rustdesk-api:latest-arm64
280
           push: true
290
           push: true
281
 
291
 
@@ -285,6 +295,7 @@ jobs:
285
         with:
295
         with:
286
           base-image: ghcr.io/${{ env.BASE_IMAGE_NAMESPACE }}/rustdesk-api:latest
296
           base-image: ghcr.io/${{ env.BASE_IMAGE_NAMESPACE }}/rustdesk-api:latest
287
           extra-images: ghcr.io/${{ env.GHCR_IMAGE_NAMESPACE }}/rustdesk-api:latest-amd64,
297
           extra-images: ghcr.io/${{ env.GHCR_IMAGE_NAMESPACE }}/rustdesk-api:latest-amd64,
298
+            ghcr.io/${{ env.GHCR_IMAGE_NAMESPACE }}/rustdesk-api:latest-armv7l,
288
             ghcr.io/${{ env.GHCR_IMAGE_NAMESPACE }}/rustdesk-api:latest-arm64
299
             ghcr.io/${{ env.GHCR_IMAGE_NAMESPACE }}/rustdesk-api:latest-arm64
289
           push: true
300
           push: true
290
           amend: true
301
           amend: true