Skip to content

Commit 15fcd04

Browse files
committed
Publish a tag by version
Ref: #5
1 parent 223ddbb commit 15fcd04

File tree

1 file changed

+40
-1
lines changed

1 file changed

+40
-1
lines changed

.github/workflows/publish.yml

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,12 +92,51 @@ jobs:
9292
DOCKER_CLI_EXPERIMENTAL: enabled
9393
run: docker manifest push docker.io/hickorydns/hickory-dns:latest
9494
- name: Inspect the manifest
95-
run: docker manifest inspect docker.io/hickorydns/hickory-dns:latest
95+
run: docker manifest inspect docker.io/hickorydns/hickory-dns:latest >> $GITHUB_STEP_SUMMARY
9696
- name: Checkout repository
9797
uses: actions/checkout@v4
9898
- name: Test docker image
9999
run: make test-alpine
100100

101+
build-and-push-version-manifest:
102+
name: Build and push the docker hub manifest for the version
103+
runs-on: ubuntu-latest
104+
needs:
105+
- push_to_registry
106+
# To ensure the lastest tag exists
107+
- build-and-push-manifest
108+
environment:
109+
name: "docker-hub"
110+
url: https://hub.docker.com/r/hickorydns/hickory-dns
111+
steps:
112+
- name: Login to DockerHub
113+
uses: docker/login-action@v3
114+
with:
115+
registry: docker.io
116+
username: ${{ secrets.DOCKER_HUB_USER }}
117+
password: ${{ secrets.DOCKER_HUB_PASSWORD }}
118+
- name: Get the version
119+
run: echo "buildVersion=$(docker image inspect docker.io/hickorydns/hickory-dns:latest -f '{{ (index .Config.Labels "org.opencontainers.image.version")}}')" >> "$GITHUB_ENV"
120+
- name: Create the manifest for the version ${{ env.buildVersion }}
121+
env:
122+
DOCKER_CLI_EXPERIMENTAL: enabled
123+
run: |
124+
docker manifest create docker.io/hickorydns/hickory-dns:${{ env.buildVersion }} \
125+
docker.io/hickorydns/hickory-dns:arm64-latest \
126+
docker.io/hickorydns/hickory-dns:amd64-latest \
127+
docker.io/hickorydns/hickory-dns:armv7-latest \
128+
docker.io/hickorydns/hickory-dns:armv6-latest \
129+
docker.io/hickorydns/hickory-dns:ppc64le-latest \
130+
docker.io/hickorydns/hickory-dns:s390x-latest \
131+
docker.io/hickorydns/hickory-dns:riscv64-latest \
132+
docker.io/hickorydns/hickory-dns:386-latest
133+
- name: Push the manifest for the version ${{ env.buildVersion }}
134+
env:
135+
DOCKER_CLI_EXPERIMENTAL: enabled
136+
run: docker manifest push docker.io/hickorydns/hickory-dns:${{ env.buildVersion }}
137+
- name: Inspect the manifest for the version ${{ env.buildVersion }}
138+
run: docker manifest inspect docker.io/hickorydns/hickory-dns:${{ env.buildVersion }} >> $GITHUB_STEP_SUMMARY
139+
101140
tags-cleanup:
102141
runs-on: ubuntu-latest
103142
needs: build-and-push-manifest

0 commit comments

Comments
 (0)