Skip to content

Commit 28a7616

Browse files
Add multi-arch manifest for contrib_manylinux_2_34 images (#174)
After building and pushing the per-arch images (latest-amd64, latest-arm64), create a combined multi-arch manifest under the base tag (e.g. latest). Docker then automatically pulls the correct architecture. This enables OpenMS/OpenMS#8740 (devcontainer arm64 support). Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 43611bb commit 28a7616

1 file changed

Lines changed: 23 additions & 2 deletions

File tree

.github/workflows/deploy-manylinux-docker.yml

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ jobs:
1313
strategy:
1414
matrix:
1515
arch: [amd64, arm64]
16+
outputs:
17+
tag_name: ${{ steps.tag_name.outputs.tag }}
1618
steps:
1719
- name: Extract branch name
1820
shell: bash
@@ -25,7 +27,7 @@ jobs:
2527
BRANCH=${{ steps.extract_branch.outputs.branch }}
2628
## use latest to follow docker conventions
2729
if [[ "$BRANCH" == "master" ]]
28-
then
30+
then
2931
BRANCH="latest"
3032
fi
3133
## Remove release/ from release branch name
@@ -60,9 +62,28 @@ jobs:
6062
push: true
6163
file: ${{ env.dockerfile }}
6264
context: .
63-
platforms: ${{ env.docker_platform }}
65+
platforms: ${{ env.docker_platform }}
6466
build-args: |
6567
OPENMS_BRANCH=${{ steps.extract_branch.outputs.branch }}
6668
OPENMS_VERSION=${{ steps.tag_name.outputs.tag }}
6769
tags: |
6870
ghcr.io/openms/contrib_manylinux_2_34:${{ steps.tag_name.outputs.tag }}-${{ env.platform_tag }}
71+
72+
create-multiarch-manifest:
73+
needs: Deploy
74+
runs-on: ubuntu-latest
75+
steps:
76+
- name: Set up Docker Buildx
77+
uses: docker/setup-buildx-action@v3
78+
- name: Login to GitHub Container Registry
79+
uses: docker/login-action@v3
80+
with:
81+
registry: ghcr.io
82+
username: ${{ github.actor }}
83+
password: ${{ secrets.GITHUB_TOKEN }}
84+
- name: Create multi-arch manifest
85+
run: |
86+
docker buildx imagetools create \
87+
-t ghcr.io/openms/contrib_manylinux_2_34:${{ needs.Deploy.outputs.tag_name }} \
88+
ghcr.io/openms/contrib_manylinux_2_34:${{ needs.Deploy.outputs.tag_name }}-amd64 \
89+
ghcr.io/openms/contrib_manylinux_2_34:${{ needs.Deploy.outputs.tag_name }}-arm64

0 commit comments

Comments
 (0)