Skip to content

Commit be07a80

Browse files
committed
Add a better way to change the tag name
1 parent a12288f commit be07a80

File tree

1 file changed

+22
-21
lines changed

1 file changed

+22
-21
lines changed

.github/workflows/publish.yml

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
name: Publish Docker image
22

33
env:
4+
IMAGE_TAG_NAME: latest
45
IMAGE_NAME: docker.io/botsudo/capistrano
56
HUB_TOOL_VERSION: 0.4.6
67

@@ -58,11 +59,11 @@ jobs:
5859
DOCKER_BUILDKIT: 1
5960
BUILDKIT_MULTI_PLATFORM: "false"
6061
PLATFORM: ${{ matrix.platform }}
61-
IMAGE_TAG: "${{ env.IMAGE_NAME }}:${{ matrix.internal-tag }}-latest"
62+
IMAGE_TAG: "${{ env.IMAGE_NAME }}:${{ matrix.internal-tag }}-${{ env.IMAGE_TAG_NAME }}"
6263
ACTION: push
6364
# Disable provenance to remove the attestation from the pushed image
6465
# See: https://github.com/docker/buildx/issues/1509
65-
# It makes: ${{ env.IMAGE_NAME }}:<arch>-latest a manifest list
66+
# It makes: ${{ env.IMAGE_NAME }}:<arch>-${{ env.IMAGE_TAG_NAME }} a manifest list
6667
# And docker manifest create does not like that
6768
EXTRA_ARGS: "--provenance=false"
6869

@@ -82,20 +83,20 @@ jobs:
8283
password: ${{ secrets.DOCKER_REPOSITORY_PASSWORD }}
8384
- name: Create the manifest
8485
run: |
85-
docker manifest create ${{ env.IMAGE_NAME }}:latest \
86-
${{ env.IMAGE_NAME }}:arm64-latest \
87-
${{ env.IMAGE_NAME }}:amd64-latest \
88-
${{ env.IMAGE_NAME }}:armv7-latest \
89-
${{ env.IMAGE_NAME }}:armv6-latest \
90-
${{ env.IMAGE_NAME }}:ppc64le-latest \
91-
${{ env.IMAGE_NAME }}:riscv64-latest \
92-
${{ env.IMAGE_NAME }}:s390x-latest \
93-
${{ env.IMAGE_NAME }}:386-latest \
86+
docker manifest create ${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG_NAME }} \
87+
${{ env.IMAGE_NAME }}:arm64-${{ env.IMAGE_TAG_NAME }} \
88+
${{ env.IMAGE_NAME }}:amd64-${{ env.IMAGE_TAG_NAME }} \
89+
${{ env.IMAGE_NAME }}:armv7-${{ env.IMAGE_TAG_NAME }} \
90+
${{ env.IMAGE_NAME }}:armv6-${{ env.IMAGE_TAG_NAME }} \
91+
${{ env.IMAGE_NAME }}:ppc64le-${{ env.IMAGE_TAG_NAME }} \
92+
${{ env.IMAGE_NAME }}:riscv64-${{ env.IMAGE_TAG_NAME }} \
93+
${{ env.IMAGE_NAME }}:s390x-${{ env.IMAGE_TAG_NAME }} \
94+
${{ env.IMAGE_NAME }}:386-${{ env.IMAGE_TAG_NAME }} \
9495
--amend
9596
- name: Push the manifest
96-
run: docker manifest push ${{ env.IMAGE_NAME }}:latest
97+
run: docker manifest push ${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG_NAME }}
9798
- name: Inspect the manifest
98-
run: docker manifest inspect ${{ env.IMAGE_NAME }}:latest
99+
run: docker manifest inspect ${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG_NAME }}
99100

100101
tags-cleanup:
101102
environment:
@@ -128,14 +129,14 @@ jobs:
128129
DOCKER_PASSWORD: ${{ secrets.DOCKER_REPOSITORY_PASSWORD }}
129130
- name: Remove the temporary images via hub-tool
130131
run: |
131-
./hub-tool tag rm --verbose --force ${{ env.IMAGE_NAME }}:arm64-latest || true
132-
./hub-tool tag rm --verbose --force ${{ env.IMAGE_NAME }}:amd64-latest || true
133-
./hub-tool tag rm --verbose --force ${{ env.IMAGE_NAME }}:armv7-latest || true
134-
./hub-tool tag rm --verbose --force ${{ env.IMAGE_NAME }}:armv6-latest || true
135-
./hub-tool tag rm --verbose --force ${{ env.IMAGE_NAME }}:ppc64le-latest || true
136-
./hub-tool tag rm --verbose --force ${{ env.IMAGE_NAME }}:riscv64-latest || true
137-
./hub-tool tag rm --verbose --force ${{ env.IMAGE_NAME }}:s390x-latest || true
138-
./hub-tool tag rm --verbose --force ${{ env.IMAGE_NAME }}:386-latest || true
132+
./hub-tool tag rm --verbose --force ${{ env.IMAGE_NAME }}:arm64-${{ env.IMAGE_TAG_NAME }} || true
133+
./hub-tool tag rm --verbose --force ${{ env.IMAGE_NAME }}:amd64-${{ env.IMAGE_TAG_NAME }} || true
134+
./hub-tool tag rm --verbose --force ${{ env.IMAGE_NAME }}:armv7-${{ env.IMAGE_TAG_NAME }} || true
135+
./hub-tool tag rm --verbose --force ${{ env.IMAGE_NAME }}:armv6-${{ env.IMAGE_TAG_NAME }} || true
136+
./hub-tool tag rm --verbose --force ${{ env.IMAGE_NAME }}:ppc64le-${{ env.IMAGE_TAG_NAME }} || true
137+
./hub-tool tag rm --verbose --force ${{ env.IMAGE_NAME }}:riscv64-${{ env.IMAGE_TAG_NAME }} || true
138+
./hub-tool tag rm --verbose --force ${{ env.IMAGE_NAME }}:s390x-${{ env.IMAGE_TAG_NAME }} || true
139+
./hub-tool tag rm --verbose --force ${{ env.IMAGE_NAME }}:386-${{ env.IMAGE_TAG_NAME }} || true
139140
./hub-tool tag ls --verbose ${{ env.IMAGE_NAME }}
140141
- name: Logout hub-tool
141142
if: always()

0 commit comments

Comments
 (0)