Skip to content

Commit 6b4022b

Browse files
ci: fix docker push for release job
Unfortunately, `docker manifest create` does not support image digests, so we need to push a tag for each version of the image. Furthermore, the docker CLI does not provide a way to delete that tag afterwards, so we will end up with those temporary tags.
1 parent 0cb354b commit 6b4022b

1 file changed

Lines changed: 8 additions & 10 deletions

File tree

.github/workflows/release.yaml

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -155,26 +155,24 @@ jobs:
155155
- name: Publish images on Docker Hub
156156
run: |
157157
docker load -i postgrest-docker-aarch64.tar.gz
158-
docker tag postgrest:latest "$DOCKER_REPO/postgrest:${GITHUB_REF_NAME}"
159-
docker push "$DOCKER_REPO/postgrest:${GITHUB_REF_NAME}"
160-
SHA256_ARM64=$(docker inspect postgrest:latest | jq -r '.[0].Id')
158+
docker tag postgrest:latest "$DOCKER_REPO/postgrest:${GITHUB_REF_NAME}-linux-arm64"
159+
docker push "$DOCKER_REPO/postgrest:${GITHUB_REF_NAME}-linux-arm64"
161160
162161
docker load -i postgrest-docker-x86-64.tar.gz
163-
docker tag postgrest:latest "$DOCKER_REPO/postgrest:${GITHUB_REF_NAME}"
164-
docker push "$DOCKER_REPO/postgrest:${GITHUB_REF_NAME}"
165-
SHA256_AMD64=$(docker inspect postgrest:latest | jq -r '.[0].Id')
162+
docker tag postgrest:latest "$DOCKER_REPO/postgrest:${GITHUB_REF_NAME}-linux-amd64"
163+
docker push "$DOCKER_REPO/postgrest:${GITHUB_REF_NAME}-linux-amd64"
166164
167165
docker manifest create "$DOCKER_REPO/postgrest:${GITHUB_REF_NAME}" \
168-
"$DOCKER_REPO/postgrest@$SHA256_ARM64" \
169-
"$DOCKER_REPO/postgrest@$SHA256_AMD64"
166+
"$DOCKER_REPO/postgrest:${GITHUB_REF_NAME}-linux-arm64" \
167+
"$DOCKER_REPO/postgrest:${GITHUB_REF_NAME}-linux-amd64"
170168
docker manifest push "$DOCKER_REPO/postgrest:${GITHUB_REF_NAME}"
171169
172170
# Only tag 'latest' for full releases
173171
if [ "${GITHUB_REF_NAME}" != "devel" ]; then
174172
echo "Pushing to 'latest' tag for full release of ${GITHUB_REF_NAME} ..."
175173
docker manifest create "$DOCKER_REPO/postgrest:latest" \
176-
"$DOCKER_REPO/postgrest@$SHA256_ARM64" \
177-
"$DOCKER_REPO/postgrest@$SHA256_AMD64"
174+
"$DOCKER_REPO/postgrest:${GITHUB_REF_NAME}-linux-arm64" \
175+
"$DOCKER_REPO/postgrest:${GITHUB_REF_NAME}-linux-amd64"
178176
docker manifest push "$DOCKER_REPO/postgrest:latest"
179177
else
180178
echo "Skipping push to 'latest' tag for pre-release..."

0 commit comments

Comments
 (0)