Skip to content

Commit cc9ef41

Browse files
authored
ci: create manifest list in release action (#3168)
* ci: create manifest list in release action * ci: generate-release depends on push-manifest
1 parent b83ac58 commit cc9ef41

File tree

1 file changed

+31
-3
lines changed

1 file changed

+31
-3
lines changed

.github/workflows/node-build.yml

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ jobs:
266266
push: false
267267
platforms: ${{ matrix.platform.arch }}
268268
file: packages/${{ matrix.package }}/Dockerfile.prod
269-
tags: ghcr.io/${{ github.repository_owner }}/rafiki-${{ matrix.package }}:${{ needs.version-generator.outputs.version }}
269+
tags: ghcr.io/${{ github.repository_owner }}/rafiki-${{ matrix.package }}-${{ matrix.platform.name }}:${{ needs.version-generator.outputs.version }}
270270
outputs: type=docker,dest=/tmp/${{ github.sha }}-${{ matrix.package }}-${{ matrix.platform.name }}-${{ needs.version-generator.outputs.version }}.tar
271271
- name: Save docker image to cache
272272
uses: actions/cache@v4
@@ -382,11 +382,38 @@ jobs:
382382
run: docker images
383383
- name: Push to registry
384384
run: |
385-
docker push ghcr.io/${{ github.repository_owner }}/rafiki-${{ matrix.package }}:${{ needs.version-generator.outputs.version }}
385+
docker push ghcr.io/${{ github.repository_owner }}/rafiki-${{ matrix.package }}-${{ matrix.platform.name }}:${{ needs.version-generator.outputs.version }}
386+
387+
push-manifest:
388+
name: Push multi-arch manifest list
389+
needs: [version-generator, push]
390+
runs-on: ubuntu-latest
391+
if: needs.version-generator.outputs.dockerPush == 'true'
392+
strategy:
393+
matrix:
394+
package:
395+
- auth
396+
- backend
397+
- frontend
398+
steps:
399+
- name: Login to GHCR
400+
uses: docker/login-action@v3
401+
with:
402+
registry: ghcr.io
403+
username: ${{ github.repository_owner }}
404+
password: ${{ secrets.GITHUB_TOKEN }}
405+
- name: Create manifest list
406+
run: |
407+
docker manifest create ghcr.io/${{ github.repository_owner }}/rafiki-${{ matrix.package }}:${{ needs.version-generator.outputs.version }} \
408+
--amend ghcr.io/${{ github.repository_owner }}/rafiki-${{ matrix.package }}-amd64:${{ needs.version-generator.outputs.version }} \
409+
--amend ghcr.io/${{ github.repository_owner }}/rafiki-${{ matrix.package }}-arm64:${{ needs.version-generator.outputs.version }}
410+
- name: Push manifest list
411+
run: |
412+
docker manifest push ghcr.io/${{ github.repository_owner }}/rafiki-${{ matrix.package }}:${{ needs.version-generator.outputs.version }}
386413
387414
generate-release:
388415
runs-on: ubuntu-latest
389-
needs: [push, version-generator]
416+
needs: [push-manifest, version-generator]
390417
if: needs.version-generator.outputs.generateRelease == 'true'
391418
steps:
392419
- name: Checkout Code
@@ -397,6 +424,7 @@ jobs:
397424
with:
398425
token: ${{ github.token }}
399426
tag: ${{ needs.version-generator.outputs.version }}
427+
includeRefIssues: false
400428
- name: Create Release
401429
uses: ncipollo/[email protected]
402430
with:

0 commit comments

Comments
 (0)