2626 runs-on : ubuntu-latest
2727 strategy :
2828 matrix :
29- architecture : [linux-arm-v7 ,linux-arm64,linux-amd64 ]
29+ architecture : [linux-amd64 ,linux-arm64]
3030 steps :
3131 - name : checkout
3232 uses : actions/checkout@v3.1.0
@@ -43,29 +43,30 @@ jobs:
4343 echo "vendor=${{ github.repository_owner }}" >> $GITHUB_ENV
4444 echo "url=${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY,,}/blob/master/README.md" >> $GITHUB_ENV
4545 echo "VERSION=${{ github.event.release.tag_name }}" >> $GITHUB_ENV
46- echo "platform=${ARCHITECTURE//-/\/}" >> $GITHUB_ENV
4746 echo "cache=${GITHUB_REPOSITORY,,}:${{ github.ref_name }}-cache-${{ matrix.architecture }}${{ github.event.inputs.tag }}" >> $GITHUB_ENV
4847 echo "tag=${GITHUB_REPOSITORY,,}:${{ github.ref_name }}-${GITHUB_SHA:0:7}-${GITHUB_RUN_NUMBER}-${{ matrix.architecture }}${{ github.event.inputs.tag }}" >> $GITHUB_ENV
4948 echo "release=${{ github.event.release.target_commitish }}" >> $GITHUB_ENV
50-
49+ - name : Set platform
50+ run : |
51+ echo "platform=$(echo $ARCHITECTURE | sed 's/-/\//g')" >> $GITHUB_ENV
5152 - name : Set up QEMU
52- uses : docker/setup-qemu-action@v2.1 .0
53+ uses : docker/setup-qemu-action@v3.6 .0
5354
5455 - name : Set up Docker Buildx
5556 id : buildx
56- uses : docker/setup-buildx-action@v2.2.1
57+ uses : docker/setup-buildx-action@v3.10.0
5758 with :
5859 driver-opts : image=moby/buildkit:v0.10.5
5960
6061 - name : Login to GitHub Container Registry
61- uses : docker/login-action@v2.1 .0
62+ uses : docker/login-action@v3.4 .0
6263 with :
6364 registry : ghcr.io
6465 username : ${{ github.repository_owner }}
6566 password : ${{ secrets.GH_PAT }}
6667
6768 - name : build&push
68- uses : docker/build-push-action@v3.2 .0
69+ uses : docker/build-push-action@v6.15 .0
6970 with :
7071 push : ${{ github.event_name != 'pull_request' }}
7172 platforms : ${{ env.platform }}
@@ -95,31 +96,37 @@ jobs:
9596 needs : [build-and-push-it-to-the-limit]
9697 steps :
9798 - name : Checkout
98- uses : actions/checkout@v3.1.0
99+ uses : actions/checkout@v4.2.2
99100
100101 - name : Login to GitHub Container Registry
101102 if : matrix.registry == 'ghcr.io'
102- uses : docker/login-action@v2.1 .0
103+ uses : docker/login-action@v3.4 .0
103104 with :
104105 registry : ghcr.io
105106 username : ${{ github.repository_owner }}
106107 password : ${{ secrets.GH_PAT }}
107108
109+ - name : Set Image and Tag Env
110+ env :
111+ DOCKER_CLI_EXPERIMENTAL : enabled
112+ run : |
113+ echo "IMAGE=${{ matrix.registry }}/${GITHUB_REPOSITORY,,}" >> $GITHUB_ENV
114+ echo "TAG=${{ github.ref_name }}-${GITHUB_SHA:0:7}-${GITHUB_RUN_NUMBER}" >> $GITHUB_ENV
115+ - name : Set Source Env
116+ run : |
117+ echo "SOURCE=${IMAGE}:${TAG}" >> $GITHUB_ENV
108118 - name : Create manifests
109119 env :
110120 DOCKER_CLI_EXPERIMENTAL : enabled
111121 run : |
112- IMAGE=${{ matrix.registry }}/${GITHUB_REPOSITORY,,}
113- TAG=${{ github.ref_name }}-${GITHUB_SHA:0:7}-${GITHUB_RUN_NUMBER}
114- SOURCE=${IMAGE}:${TAG}
115122 [[ -f linux-amd64.Dockerfile ]] && AMD64=${SOURCE}-linux-amd64${{ github.event.inputs.tag }}
116123 [[ -f linux-arm64.Dockerfile ]] && ARM64=${SOURCE}-linux-arm64${{ github.event.inputs.tag }}
117- [[ -f linux-arm-v7.Dockerfile ]] && ARMV7=${SOURCE}-linux-arm-v7${{ github.event.inputs.tag }}
118- docker manifest create ${IMAGE}:${TAG}${{ github.event.inputs.tag }} ${AMD64} ${ARM64} ${ARMV7}
124+ docker manifest create ${IMAGE}:${TAG}${{ github.event.inputs.tag }} ${AMD64} ${ARM64}
119125 docker manifest push ${IMAGE}:${TAG}${{ github.event.inputs.tag }}
120126 TAG=${{ github.ref_name }}${{ github.event.inputs.tag }}
121- docker manifest create ${IMAGE}:${TAG} ${AMD64} ${ARM64} ${ARMV7}
127+ docker manifest create ${IMAGE}:${TAG} ${AMD64} ${ARM64}
122128 docker manifest push ${IMAGE}:${TAG}
129+
123130 - name : Latest manifest
124131 if : github.event.release.target_commitish == 'master' || github.event.inputs.branch == 'master'
125132 env :
@@ -130,6 +137,5 @@ jobs:
130137 SOURCE=${IMAGE}:${TAG}-${GITHUB_SHA:0:7}-${GITHUB_RUN_NUMBER}
131138 [[ -f linux-amd64.Dockerfile ]] && AMD64=${SOURCE}-linux-amd64
132139 [[ -f linux-arm64.Dockerfile ]] && ARM64=${SOURCE}-linux-arm64
133- [[ -f linux-arm-v7.Dockerfile ]] && ARMV7=${SOURCE}-linux-arm-v7
134- docker manifest create ${IMAGE}:latest ${AMD64} ${ARM64} ${ARMV7}
140+ docker manifest create ${IMAGE}:latest ${AMD64} ${ARM64}
135141 docker manifest push ${IMAGE}:latest
0 commit comments