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

+ 104 - 1
.github/workflows/build.yml

@@ -96,7 +96,6 @@ jobs:
96 96
         env:
97 97
           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
98 98
 
99
-  # docker build and push of single-arch images
100 99
   docker:
101 100
     name: Push Docker Image
102 101
     needs: build
@@ -150,10 +149,114 @@ jobs:
150 149
           file: ./Dockerfile
151 150
           platforms: linux/amd64,linux/arm64
152 151
           push: true
152
+          provenance: false
153 153
           tags: lejianwen/rustdesk-api:${{ env.TAG }}
154 154
           #           lejianwen/rustdesk-api:${{ env.LATEST_TAG }}
155 155
           #            lejianwen/rustdesk-api:${{ env.TAG }}-${{ matrix.job.docker_platform }}
156 156
           labels: ${{ steps.meta.outputs.labels }}
157
+
158
+  dockertest1:
159
+    name: test manifest list image1
160
+    needs: build
161
+    runs-on: ubuntu-latest
162
+    strategy:
163
+      fail-fast: false
164
+      matrix:
165
+        job:
166
+          - { platform: "amd64", goos: "linux",  docker_platform: "linux/amd64" }
167
+          - { platform: "arm64", goos: "linux",  docker_platform: "linux/arm64" }
168
+    steps:
169
+      - name: Checkout code
170
+        uses: actions/checkout@v4
171
+
172
+      - name: Set up QEMU
173
+        uses: docker/setup-qemu-action@v2
174
+
175
+      - name: Set up Docker Buildx
176
+        uses: docker/setup-buildx-action@v2
177
+
178
+
179
+      - name: Extract version from tag
180
+        id: vars
181
+        run: echo "TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
182
+
183
+      - name: Download binaries
184
+        uses: actions/download-artifact@v4
185
+        with:
186
+          name: rustdesk-api-${{ matrix.job.goos }}-${{ matrix.job.platform }}
187
+          path: ./
188
+
189
+      - name: Unzip binaries
190
+        run: |
191
+          tar -xzf ${{ matrix.job.goos }}-${{ matrix.job.platform }}.tar.gz
192
+
193
+      - name: Build and push Docker image ${{ matrix.job.docker_platform }}
194
+        uses: docker/build-push-action@v5
195
+        with:
196
+          context: "."
197
+          file: ./Dockerfile
198
+          platforms: linux/amd64,linux/arm64
199
+          push: false
200
+          provenance: false
201
+          tags: |
202
+            lejianwen/rustdesk-api:${{ env.LATEST_TAG }}
203
+            lejianwen/rustdesk-api:${{ env.TAG }}-${{ matrix.job.docker_platform }}
204
+      - name: echo manifest
205
+        run: |
206
+          echo " provenance: false"
207
+          docker manifest inspect lejianwen/rustdesk-api:${{ env.LATEST_TAG }}
208
+          docker manifest inspect lejianwen/rustdesk-api:${{ env.TAG }}-${{ matrix.job.docker_platform }}
209
+  dockertest2:
210
+    name: test manifest list image2
211
+    needs: build
212
+    runs-on: ubuntu-latest
213
+    strategy:
214
+      fail-fast: false
215
+      matrix:
216
+        job:
217
+          - { platform: "amd64", goos: "linux",  docker_platform: "linux/amd64" }
218
+          - { platform: "arm64", goos: "linux",  docker_platform: "linux/arm64" }
219
+    steps:
220
+      - name: Checkout code
221
+        uses: actions/checkout@v4
222
+
223
+      - name: Set up QEMU
224
+        uses: docker/setup-qemu-action@v2
225
+
226
+      - name: Set up Docker Buildx
227
+        uses: docker/setup-buildx-action@v2
228
+
229
+
230
+      - name: Extract version from tag
231
+        id: vars
232
+        run: echo "TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
233
+
234
+      - name: Download binaries
235
+        uses: actions/download-artifact@v4
236
+        with:
237
+          name: rustdesk-api-${{ matrix.job.goos }}-${{ matrix.job.platform }}
238
+          path: ./
239
+
240
+      - name: Unzip binaries
241
+        run: |
242
+          tar -xzf ${{ matrix.job.goos }}-${{ matrix.job.platform }}.tar.gz
243
+
244
+      - name: Build and push Docker image ${{ matrix.job.docker_platform }}
245
+        uses: docker/build-push-action@v5
246
+        with:
247
+          context: "."
248
+          file: ./Dockerfile
249
+          platforms: linux/amd64,linux/arm64
250
+          push: false
251
+          provenance: false
252
+          tags: |
253
+            lejianwen/rustdesk-api:${{ env.LATEST_TAG }}
254
+            lejianwen/rustdesk-api:${{ env.TAG }}
255
+      - name: echo manifest
256
+        run: |
257
+          echo " provenance: false"
258
+          docker manifest inspect lejianwen/rustdesk-api:${{ env.LATEST_TAG }}
259
+          docker manifest inspect lejianwen/rustdesk-api:${{ env.TAG }}
157 260
   #
158 261
 #  docker-manifest:
159 262
 #    name: Push Docker Manifest