Skip to content

Commit 6db717c

Browse files
committed
ci: build manifest by hand
Signed-off-by: Ramon Roche <[email protected]>
1 parent a0c6b87 commit 6db717c

File tree

1 file changed

+22
-16
lines changed

1 file changed

+22
-16
lines changed

.github/workflows/dev_container.yml

+22-16
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,14 @@ jobs:
6060
needs: setup
6161
strategy:
6262
matrix:
63-
platform:
64-
- arm64
65-
- x64
66-
runs-on: [runs-on,"runner=8cpu-linux-${{ matrix.platform }}","image=ubuntu24-full-${{ matrix.platform }}","run-id=${{ github.run_id }}",spot=false,extras=s3-cache]
67-
env:
68-
PLATFORM_NAME: ${{ matrix.platform == 'arm64' && 'linux/arm64' || 'linux/amd64' }}
63+
include:
64+
- platform: linux/arm64
65+
arch: arm64
66+
runner: arm64
67+
- platform: linux/amd64
68+
arch: amd64
69+
runner: x64
70+
runs-on: [runs-on,"runner=8cpu-linux-${{ matrix.runner }}","image=ubuntu24-full-${{ matrix.runner }}","run-id=${{ github.run_id }}",spot=false,extras=s3-cache]
6971
steps:
7072
- uses: runs-on/action@v1
7173
- uses: actions/checkout@v4
@@ -99,9 +101,11 @@ jobs:
99101
id: docker
100102
with:
101103
context: Tools/setup
102-
tags: ${{ needs.setup.outputs.meta_tags }}
104+
tags: |
105+
ghcr.io/px4/px4-dev:${{ matrix.arch }}-${{ needs.setup.outputs.px4_version }}
106+
px4io/px4-dev:${{ matrix.arch }}-${{ needs.setup.outputs.px4_version }}
103107
labels: ${{ needs.setup.outputs.meta_labels }}
104-
platforms: ${{ env.PLATFORM_NAME }}
108+
platforms: ${{ matrix.platform }}
105109
load: false
106110
push: true
107111
cache-from: type=gha,version=1
@@ -157,24 +161,26 @@ jobs:
157161

158162
- name: Verify Images Exist Before Creating Manifest
159163
run: |
160-
docker manifest inspect px4io/px4-dev:${{ needs.setup.outputs.px4_version }} || echo "⚠️ Warning: No AMD64/ARM64 image found!"
161-
docker manifest inspect ghcr.io/PX4/px4-dev:${{ needs.setup.outputs.px4_version }} || echo "⚠️ Warning: No AMD64/ARM64 image found!"
164+
docker manifest inspect px4io/px4-dev:arm64-${{ needs.setup.outputs.px4_version }} || echo "⚠️ Warning: No ARM64 image found!"
165+
docker manifest inspect px4io/px4-dev:amd64-${{ needs.setup.outputs.px4_version }} || echo "⚠️ Warning: No AMD64 image found!"
166+
docker manifest inspect ghcr.io/px4/px4-dev:arm64-${{ needs.setup.outputs.px4_version }} || echo "⚠️ Warning: No ARM64 image found!"
167+
docker manifest inspect ghcr.io/px4/px4-dev:amd64-${{ needs.setup.outputs.px4_version }} || echo "⚠️ Warning: No AMD64 image found!"
162168
163169
- name: Create and Push Multi-Arch Manifest for Docker Hub
164170
run: |
165171
docker manifest create px4io/px4-dev:${{ needs.setup.outputs.px4_version }} \
166-
--amend px4io/px4-dev:${{ needs.setup.outputs.px4_version }}@$(docker manifest inspect --format '{{ (index .Manifests 0).Digest }}' px4io/px4-dev:${{ needs.setup.outputs.px4_version }}) \
167-
--amend px4io/px4-dev:${{ needs.setup.outputs.px4_version }}@$(docker manifest inspect --format '{{ (index .Manifests 1).Digest }}' px4io/px4-dev:${{ needs.setup.outputs.px4_version }})
172+
--amend px4io/px4-dev:arm64-${{ needs.setup.outputs.px4_version }} \
173+
--amend px4io/px4-dev:amd64-${{ needs.setup.outputs.px4_version }}
168174
169175
docker manifest push px4io/px4-dev:${{ needs.setup.outputs.px4_version }}
170176
171177
- name: Create and Push Multi-Arch Manifest for GHCR
172178
run: |
173-
docker manifest create ghcr.io/PX4/px4-dev:${{ needs.setup.outputs.px4_version }} \
174-
--amend ghcr.io/PX4/px4-dev:${{ needs.setup.outputs.px4_version }}@$(docker manifest inspect --format '{{ (index .Manifests 0).Digest }}' ghcr.io/PX4/px4-dev:${{ needs.setup.outputs.px4_version }}) \
175-
--amend ghcr.io/PX4/px4-dev:${{ needs.setup.outputs.px4_version }}@$(docker manifest inspect --format '{{ (index .Manifests 1).Digest }}' ghcr.io/PX4/px4-dev:${{ needs.setup.outputs.px4_version }})
179+
docker manifest create ghcr.io/px4/px4-dev:${{ needs.setup.outputs.px4_version }} \
180+
--amend ghcr.io/px4/px4-dev:arm64-${{ needs.setup.outputs.px4_version }} \
181+
--amend ghcr.io/px4/px4-dev:amd64-${{ needs.setup.outputs.px4_version }}
176182
177-
docker manifest push ghcr.io/PX4/px4-dev:${{ needs.setup.outputs.px4_version }}
183+
docker manifest push ghcr.io/px4/px4-dev:${{ needs.setup.outputs.px4_version }}
178184
179185
# - name: Push Images to Registry
180186
# uses: docker/build-push-action@v6

0 commit comments

Comments
 (0)