Skip to content

Commit 9bdbf5b

Browse files
authored
Merge pull request #10 from link-foundation/issue-9-c1093a7a89f1
Configure to publish on Docker Hub at konard/sandbox
2 parents a306c7f + d278ad4 commit 9bdbf5b

File tree

1 file changed

+55
-15
lines changed

1 file changed

+55
-15
lines changed

.github/workflows/release.yml

Lines changed: 55 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,12 @@ concurrency:
2323
cancel-in-progress: true
2424

2525
env:
26-
REGISTRY: ghcr.io
27-
IMAGE_NAME: ${{ github.repository }}
26+
# GitHub Container Registry
27+
GHCR_REGISTRY: ghcr.io
28+
GHCR_IMAGE_NAME: ${{ github.repository }}
29+
# Docker Hub
30+
DOCKERHUB_REGISTRY: docker.io
31+
DOCKERHUB_IMAGE_NAME: konard/sandbox
2832

2933
jobs:
3034
# === DETECT CHANGES ===
@@ -105,7 +109,7 @@ jobs:
105109
with:
106110
context: .
107111
push: false
108-
tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:test
112+
tags: ${{ env.GHCR_IMAGE_NAME }}:test
109113
cache-from: type=gha
110114
cache-to: type=gha,mode=max
111115

@@ -184,15 +188,24 @@ jobs:
184188
- name: Log in to GitHub Container Registry
185189
uses: docker/login-action@v3
186190
with:
187-
registry: ${{ env.REGISTRY }}
191+
registry: ${{ env.GHCR_REGISTRY }}
188192
username: ${{ github.actor }}
189193
password: ${{ secrets.GITHUB_TOKEN }}
190194

195+
- name: Log in to Docker Hub
196+
uses: docker/login-action@v3
197+
with:
198+
registry: ${{ env.DOCKERHUB_REGISTRY }}
199+
username: ${{ secrets.DOCKERHUB_USERNAME }}
200+
password: ${{ secrets.DOCKERHUB_TOKEN }}
201+
191202
- name: Extract metadata (tags, labels) for Docker
192203
id: meta
193204
uses: docker/metadata-action@v5
194205
with:
195-
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
206+
images: |
207+
${{ env.GHCR_REGISTRY }}/${{ env.GHCR_IMAGE_NAME }}
208+
${{ env.DOCKERHUB_IMAGE_NAME }}
196209
tags: |
197210
type=raw,value=latest
198211
type=sha,prefix=
@@ -232,15 +245,24 @@ jobs:
232245
- name: Log in to GitHub Container Registry
233246
uses: docker/login-action@v3
234247
with:
235-
registry: ${{ env.REGISTRY }}
248+
registry: ${{ env.GHCR_REGISTRY }}
236249
username: ${{ github.actor }}
237250
password: ${{ secrets.GITHUB_TOKEN }}
238251

252+
- name: Log in to Docker Hub
253+
uses: docker/login-action@v3
254+
with:
255+
registry: ${{ env.DOCKERHUB_REGISTRY }}
256+
username: ${{ secrets.DOCKERHUB_USERNAME }}
257+
password: ${{ secrets.DOCKERHUB_TOKEN }}
258+
239259
- name: Extract metadata (tags, labels) for Docker
240260
id: meta
241261
uses: docker/metadata-action@v5
242262
with:
243-
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
263+
images: |
264+
${{ env.GHCR_REGISTRY }}/${{ env.GHCR_IMAGE_NAME }}
265+
${{ env.DOCKERHUB_IMAGE_NAME }}
244266
flavor: |
245267
suffix=-arm64
246268
tags: |
@@ -272,17 +294,35 @@ jobs:
272294
- name: Log in to GitHub Container Registry
273295
uses: docker/login-action@v3
274296
with:
275-
registry: ${{ env.REGISTRY }}
297+
registry: ${{ env.GHCR_REGISTRY }}
276298
username: ${{ github.actor }}
277299
password: ${{ secrets.GITHUB_TOKEN }}
278300

279-
- name: Create and push multi-arch manifest
301+
- name: Log in to Docker Hub
302+
uses: docker/login-action@v3
303+
with:
304+
registry: ${{ env.DOCKERHUB_REGISTRY }}
305+
username: ${{ secrets.DOCKERHUB_USERNAME }}
306+
password: ${{ secrets.DOCKERHUB_TOKEN }}
307+
308+
- name: Create and push multi-arch manifest (GHCR)
309+
run: |
310+
# Create manifest for latest tag on GHCR
311+
docker manifest create ${{ env.GHCR_REGISTRY }}/${{ env.GHCR_IMAGE_NAME }}:latest \
312+
--amend ${{ env.GHCR_REGISTRY }}/${{ env.GHCR_IMAGE_NAME }}:latest \
313+
--amend ${{ env.GHCR_REGISTRY }}/${{ env.GHCR_IMAGE_NAME }}:latest-arm64
314+
315+
docker manifest push ${{ env.GHCR_REGISTRY }}/${{ env.GHCR_IMAGE_NAME }}:latest
316+
317+
echo "GHCR multi-arch manifest created and pushed successfully"
318+
319+
- name: Create and push multi-arch manifest (Docker Hub)
280320
run: |
281-
# Create manifest for latest tag
282-
docker manifest create ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest \
283-
--amend ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest \
284-
--amend ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest-arm64
321+
# Create manifest for latest tag on Docker Hub
322+
docker manifest create ${{ env.DOCKERHUB_IMAGE_NAME }}:latest \
323+
--amend ${{ env.DOCKERHUB_IMAGE_NAME }}:latest \
324+
--amend ${{ env.DOCKERHUB_IMAGE_NAME }}:latest-arm64
285325
286-
docker manifest push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
326+
docker manifest push ${{ env.DOCKERHUB_IMAGE_NAME }}:latest
287327
288-
echo "Multi-arch manifest created and pushed successfully"
328+
echo "Docker Hub multi-arch manifest created and pushed successfully"

0 commit comments

Comments
 (0)