@@ -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