Skip to content

Commit d34bc94

Browse files
committed
ci: Switch from Docker->GHCR to GHCR is the source
Signed-off-by: Evan Wies <evan@neomantra.net>
1 parent cc0f25d commit d34bc94

1 file changed

Lines changed: 61 additions & 60 deletions

File tree

.github/workflows/docker-publish.yml

Lines changed: 61 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ on:
99
workflow_dispatch:
1010

1111
env:
12-
DOCKER_ORG: openresty
12+
GHCR_IMAGE: ghcr.io/${{ github.repository_owner }}/openresty
13+
DOCKERHUB_IMAGE: openresty/openresty
1314

1415
jobs:
1516
build:
@@ -253,19 +254,19 @@ jobs:
253254
password: ${{ secrets.DOCKER_PASSWORD }}
254255

255256
- name: Login to Docker Mirror
256-
if: vars.ENABLE_MIRROR == 'true'
257+
if: vars.ENABLE_DOCKERHUB_MIRROR == 'true'
257258
uses: docker/login-action@v3
258259
with:
259-
registry: ${{ secrets.DOCKER_MIRROR_REGISTRY }}
260-
username: ${{ secrets.DOCKER_MIRROR_USERNAME }}
261-
password: ${{ secrets.DOCKER_MIRROR_PASSWORD }}
260+
registry: ${{ env.DOCKERHUB_IMAGE }}
261+
username: ${{ secrets.DOCKER_USERNAME }}
262+
password: ${{ secrets.DOCKER_PASSWORD }}
262263

263264
- name: Extract metadata (tags, labels)
264265
id: meta
265266
uses: docker/metadata-action@v5
266267
with:
267268
images: |
268-
${{ env.DOCKER_ORG }}/openresty
269+
${{ env.GHCR_IMAGE }}
269270
tags: |
270271
type=raw,value=${{ matrix.flavor }}-${{ matrix.arch }},enable=${{ github.ref == 'refs/heads/master' }}
271272
type=ref,event=tag,suffix=-${{ matrix.flavor }}-${{ matrix.arch }}
@@ -281,13 +282,13 @@ jobs:
281282
tags: ${{ steps.meta.outputs.tags }}
282283
labels: ${{ steps.meta.outputs.labels }}
283284

284-
# Mirror registry push - separate step
285-
- name: Tag and Push to Mirror
286-
if: vars.ENABLE_MIRROR == 'true'
285+
# Docker Hub mirror push - separate step
286+
- name: Tag and Push to Docker Hub Mirror
287+
if: vars.ENABLE_DOCKERHUB_MIRROR == 'true'
287288
run: |
288289
for TAG in ${{ steps.meta.outputs.tags }}; do
289-
MIRROR_TAG=$(echo "$TAG" | sed "s|${{ env.DOCKER_ORG }}/openresty|${{ secrets.DOCKER_MIRROR_REGISTRY }}/${{ secrets.DOCKER_MIRROR_ORG }}/openresty|")
290-
docker buildx imagetools create -t "$MIRROR_TAG" "$TAG"
290+
DOCKERHUB_TAG=$(echo "$TAG" | sed "s|${{ env.GHCR_IMAGE }}|${{ env.DOCKERHUB_IMAGE }}|")
291+
docker buildx imagetools create -t "$DOCKERHUB_TAG" "$TAG"
291292
done
292293
293294
manifest:
@@ -297,19 +298,19 @@ jobs:
297298
matrix:
298299
flavor: [alpine, alpine-slim, alpine-apk, amzn2, rocky, centos, centos7, fedora, bookworm, bookworm-buildpack, bullseye, bullseye-debug, bullseye-valgrind, bionic, focal, jammy, noble]
299300
steps:
300-
- name: Login to Docker Hub
301+
- name: Login to GitHub Container Registry
301302
uses: docker/login-action@v3
302303
with:
303-
username: ${{ secrets.DOCKER_USERNAME }}
304-
password: ${{ secrets.DOCKER_PASSWORD }}
304+
registry: ghcr.io
305+
username: ${{ github.actor }}
306+
password: ${{ secrets.GITHUB_TOKEN }}
305307

306-
- name: Login to Docker Mirror
307-
if: vars.ENABLE_MIRROR == 'true'
308+
- name: Login to Docker Hub (Mirror)
309+
if: vars.ENABLE_DOCKERHUB_MIRROR == 'true'
308310
uses: docker/login-action@v3
309311
with:
310-
registry: ${{secrets.DOCKER_MIRROR_REGISTRY }}
311-
username: ${{ secrets.DOCKER_MIRROR_USERNAME }}
312-
password: ${{ secrets.DOCKER_MIRROR_PASSWORD }}
312+
username: ${{ secrets.DOCKER_USERNAME }}
313+
password: ${{ secrets.DOCKER_PASSWORD }}
313314

314315
- name: Create and Push Manifest
315316
run: |
@@ -336,46 +337,46 @@ jobs:
336337
fi
337338
338339
for ARCH in $ARCHS; do
339-
SOURCES="$SOURCES ${{ env.DOCKER_ORG }}/openresty:${TAG_PREFIX}${{ matrix.flavor }}-$ARCH"
340-
if [[ "${{ vars.ENABLE_MIRROR }}" == "true" ]]; then
341-
MIRROR_SOURCES="$MIRROR_SOURCES ${{ secrets.DOCKER_MIRROR_REGISTRY }}/${{ secrets.DOCKER_MIRROR_ORG }}/openresty:${TAG_PREFIX}${{ matrix.flavor }}-$ARCH"
340+
SOURCES="$SOURCES ${{ env.GHCR_IMAGE }}:${TAG_PREFIX}${{ matrix.flavor }}-$ARCH"
341+
if [[ "${{ vars.ENABLE_DOCKERHUB_MIRROR }}" == "true" ]]; then
342+
MIRROR_SOURCES="$MIRROR_SOURCES ${{ env.DOCKERHUB_IMAGE }}:${TAG_PREFIX}${{ matrix.flavor }}-$ARCH"
342343
fi
343344
done
344345
345346
# Target Manifest Tag
346347
TARGET_TAG="${TAG_PREFIX}${{ matrix.flavor }}"
347348
348349
echo "Creating manifest $TARGET_TAG from $SOURCES"
349-
docker buildx imagetools create -t "${{ env.DOCKER_ORG }}/openresty:$TARGET_TAG" $SOURCES
350+
docker buildx imagetools create -t "${{ env.GHCR_IMAGE }}:$TARGET_TAG" $SOURCES
350351
351-
if [[ "${{ vars.ENABLE_MIRROR }}" == "true" ]]; then
352+
if [[ "${{ vars.ENABLE_DOCKERHUB_MIRROR }}" == "true" ]]; then
352353
echo "Creating mirror manifest $TARGET_TAG"
353-
docker buildx imagetools create -t "${{ secrets.DOCKER_MIRROR_REGISTRY }}/${{ secrets.DOCKER_MIRROR_ORG }}/openresty:$TARGET_TAG" $MIRROR_SOURCES
354+
docker buildx imagetools create -t "${{ env.DOCKERHUB_IMAGE }}:$TARGET_TAG" $MIRROR_SOURCES
354355
fi
355356
356357
# Handle "latest" tag for bookworm on master
357358
if [[ "${{ matrix.flavor }}" == "bookworm" && "${{ github.ref }}" == "refs/heads/master" ]]; then
358359
echo "Tagging bookworm as latest"
359-
docker buildx imagetools create -t "${{ env.DOCKER_ORG }}/openresty:latest" "${{ env.DOCKER_ORG }}/openresty:bookworm"
360-
if [[ "${{ vars.ENABLE_MIRROR }}" == "true" ]]; then
361-
docker buildx imagetools create -t "${{ secrets.DOCKER_MIRROR_REGISTRY }}/${{ secrets.DOCKER_MIRROR_ORG }}/openresty:latest" "${{ secrets.DOCKER_MIRROR_REGISTRY }}/${{ secrets.DOCKER_MIRROR_ORG }}/openresty:bookworm"
360+
docker buildx imagetools create -t "${{ env.GHCR_IMAGE }}:latest" "${{ env.GHCR_IMAGE }}:bookworm"
361+
if [[ "${{ vars.ENABLE_DOCKERHUB_MIRROR }}" == "true" ]]; then
362+
docker buildx imagetools create -t "${{ env.DOCKERHUB_IMAGE }}:latest" "${{ env.DOCKERHUB_IMAGE }}:bookworm"
362363
fi
363364
fi
364365
365366
# Create tag aliases (centos-rpm -> centos, fedora-rpm -> fedora)
366367
if [[ "${{ matrix.flavor }}" == "centos" ]]; then
367368
echo "Creating centos-rpm alias"
368-
docker buildx imagetools create -t "${{ env.DOCKER_ORG }}/openresty:${TAG_PREFIX}centos-rpm" "${{ env.DOCKER_ORG }}/openresty:$TARGET_TAG"
369-
if [[ "${{ vars.ENABLE_MIRROR }}" == "true" ]]; then
370-
docker buildx imagetools create -t "${{ secrets.DOCKER_MIRROR_REGISTRY }}/${{ secrets.DOCKER_MIRROR_ORG }}/openresty:${TAG_PREFIX}centos-rpm" "${{ secrets.DOCKER_MIRROR_REGISTRY }}/${{ secrets.DOCKER_MIRROR_ORG }}/openresty:$TARGET_TAG"
369+
docker buildx imagetools create -t "${{ env.GHCR_IMAGE }}:${TAG_PREFIX}centos-rpm" "${{ env.GHCR_IMAGE }}:$TARGET_TAG"
370+
if [[ "${{ vars.ENABLE_DOCKERHUB_MIRROR }}" == "true" ]]; then
371+
docker buildx imagetools create -t "${{ env.DOCKERHUB_IMAGE }}:${TAG_PREFIX}centos-rpm" "${{ env.DOCKERHUB_IMAGE }}:$TARGET_TAG"
371372
fi
372373
fi
373374
374375
if [[ "${{ matrix.flavor }}" == "fedora" ]]; then
375376
echo "Creating fedora-rpm alias"
376-
docker buildx imagetools create -t "${{ env.DOCKER_ORG }}/openresty:${TAG_PREFIX}fedora-rpm" "${{ env.DOCKER_ORG }}/openresty:$TARGET_TAG"
377-
if [[ "${{ vars.ENABLE_MIRROR }}" == "true" ]]; then
378-
docker buildx imagetools create -t "${{ secrets.DOCKER_MIRROR_REGISTRY }}/${{ secrets.DOCKER_MIRROR_ORG }}/openresty:${TAG_PREFIX}fedora-rpm" "${{ secrets.DOCKER_MIRROR_REGISTRY }}/${{ secrets.DOCKER_MIRROR_ORG }}/openresty:$TARGET_TAG"
377+
docker buildx imagetools create -t "${{ env.GHCR_IMAGE }}:${TAG_PREFIX}fedora-rpm" "${{ env.GHCR_IMAGE }}:$TARGET_TAG"
378+
if [[ "${{ vars.ENABLE_DOCKERHUB_MIRROR }}" == "true" ]]; then
379+
docker buildx imagetools create -t "${{ env.DOCKERHUB_IMAGE }}:${TAG_PREFIX}fedora-rpm" "${{ env.DOCKERHUB_IMAGE }}:$TARGET_TAG"
379380
fi
380381
fi
381382
@@ -429,19 +430,19 @@ jobs:
429430
- name: Set up Docker Buildx
430431
uses: docker/setup-buildx-action@v3
431432

432-
- name: Login to Docker Hub
433+
- name: Login to GitHub Container Registry
433434
uses: docker/login-action@v3
434435
with:
435-
username: ${{ secrets.DOCKER_USERNAME }}
436-
password: ${{ secrets.DOCKER_PASSWORD }}
436+
registry: ghcr.io
437+
username: ${{ github.actor }}
438+
password: ${{ secrets.GITHUB_TOKEN }}
437439

438-
- name: Login to Docker Mirror
439-
if: vars.ENABLE_MIRROR == 'true'
440+
- name: Login to Docker Hub (Mirror)
441+
if: vars.ENABLE_DOCKERHUB_MIRROR == 'true'
440442
uses: docker/login-action@v3
441443
with:
442-
registry: ${{ secrets.DOCKER_MIRROR_REGISTRY }}
443-
username: ${{ secrets.DOCKER_MIRROR_USERNAME }}
444-
password: ${{ secrets.DOCKER_MIRROR_PASSWORD }}
444+
username: ${{ secrets.DOCKER_USERNAME }}
445+
password: ${{ secrets.DOCKER_PASSWORD }}
445446

446447
- name: Determine Fat Base Image
447448
id: fat-base
@@ -453,14 +454,14 @@ jobs:
453454
454455
BASE_TAG="${TAG_PREFIX}${{ matrix.base_flavor }}"
455456
echo "RESTY_FAT_IMAGE_TAG=$BASE_TAG" >> $GITHUB_ENV
456-
echo "RESTY_FAT_IMAGE_BASE=${{ env.DOCKER_ORG }}/openresty" >> $GITHUB_ENV
457+
echo "RESTY_FAT_IMAGE_BASE=${{ env.GHCR_IMAGE }}" >> $GITHUB_ENV
457458
458459
- name: Extract metadata
459460
id: meta
460461
uses: docker/metadata-action@v5
461462
with:
462463
images: |
463-
${{ env.DOCKER_ORG }}/openresty
464+
${{ env.GHCR_IMAGE }}
464465
tags: |
465466
type=raw,value=${{ matrix.flavor }}-${{ matrix.arch }},enable=${{ github.ref == 'refs/heads/master' }}
466467
type=ref,event=tag,suffix=-${{ matrix.flavor }}-${{ matrix.arch }}
@@ -480,10 +481,10 @@ jobs:
480481
481482
# Mirror registry push
482483
- name: Tag and Push to Mirror
483-
if: vars.ENABLE_MIRROR == 'true'
484+
if: vars.ENABLE_DOCKERHUB_MIRROR == 'true'
484485
run: |
485486
for TAG in ${{ steps.meta.outputs.tags }}; do
486-
MIRROR_TAG=$(echo "$TAG" | sed "s|${{ env.DOCKER_ORG }}/openresty|${{ secrets.DOCKER_MIRROR_REGISTRY }}/${{ secrets.DOCKER_MIRROR_ORG }}/openresty|")
487+
MIRROR_TAG=$(echo "$TAG" | sed "s|${{ env.GHCR_IMAGE }}|${{ env.DOCKERHUB_IMAGE }}|")
487488
docker buildx imagetools create -t "$MIRROR_TAG" "$TAG"
488489
done
489490
@@ -494,19 +495,19 @@ jobs:
494495
matrix:
495496
flavor: [bookworm-fat, bullseye-fat, alpine-fat]
496497
steps:
497-
- name: Login to Docker Hub
498+
- name: Login to GitHub Container Registry
498499
uses: docker/login-action@v3
499500
with:
500-
username: ${{ secrets.DOCKER_USERNAME }}
501-
password: ${{ secrets.DOCKER_PASSWORD }}
501+
registry: ghcr.io
502+
username: ${{ github.actor }}
503+
password: ${{ secrets.GITHUB_TOKEN }}
502504

503-
- name: Login to Docker Mirror
504-
if: vars.ENABLE_MIRROR == 'true'
505+
- name: Login to Docker Hub (Mirror)
506+
if: vars.ENABLE_DOCKERHUB_MIRROR == 'true'
505507
uses: docker/login-action@v3
506508
with:
507-
registry: ${{ secrets.DOCKER_MIRROR_REGISTRY }}
508-
username: ${{ secrets.DOCKER_MIRROR_USERNAME }}
509-
password: ${{ secrets.DOCKER_MIRROR_PASSWORD }}
509+
username: ${{ secrets.DOCKER_USERNAME }}
510+
password: ${{ secrets.DOCKER_PASSWORD }}
510511

511512
- name: Create and Push Manifest
512513
run: |
@@ -520,18 +521,18 @@ jobs:
520521
SOURCES=""
521522
MIRROR_SOURCES=""
522523
for ARCH in $ARCHS; do
523-
SOURCES="$SOURCES ${{ env.DOCKER_ORG }}/openresty:${TAG_PREFIX}${{ matrix.flavor }}-$ARCH"
524-
if [[ "${{ vars.ENABLE_MIRROR }}" == "true" ]]; then
525-
MIRROR_SOURCES="$MIRROR_SOURCES ${{ secrets.DOCKER_MIRROR_REGISTRY }}/${{ secrets.DOCKER_MIRROR_ORG }}/openresty:${TAG_PREFIX}${{ matrix.flavor }}-$ARCH"
524+
SOURCES="$SOURCES ${{ env.GHCR_IMAGE }}:${TAG_PREFIX}${{ matrix.flavor }}-$ARCH"
525+
if [[ "${{ vars.ENABLE_DOCKERHUB_MIRROR }}" == "true" ]]; then
526+
MIRROR_SOURCES="$MIRROR_SOURCES ${{ env.DOCKERHUB_IMAGE }}:${TAG_PREFIX}${{ matrix.flavor }}-$ARCH"
526527
fi
527528
done
528529
529530
TARGET_TAG="${TAG_PREFIX}${{ matrix.flavor }}"
530531
531532
echo "Creating manifest $TARGET_TAG from $SOURCES"
532-
docker buildx imagetools create -t "${{ env.DOCKER_ORG }}/openresty:$TARGET_TAG" $SOURCES
533+
docker buildx imagetools create -t "${{ env.GHCR_IMAGE }}:$TARGET_TAG" $SOURCES
533534
534-
if [[ "${{ vars.ENABLE_MIRROR }}" == "true" ]]; then
535+
if [[ "${{ vars.ENABLE_DOCKERHUB_MIRROR }}" == "true" ]]; then
535536
echo "Creating mirror manifest $TARGET_TAG"
536-
docker buildx imagetools create -t "${{ secrets.DOCKER_MIRROR_REGISTRY }}/${{ secrets.DOCKER_MIRROR_ORG }}/openresty:$TARGET_TAG" $MIRROR_SOURCES
537+
docker buildx imagetools create -t "${{ env.DOCKERHUB_IMAGE }}:$TARGET_TAG" $MIRROR_SOURCES
537538
fi

0 commit comments

Comments
 (0)