@@ -64,17 +64,43 @@ jobs:
6464 with :
6565 username : ${{ secrets.DOCKERHUB_USERNAME }}
6666 password : ${{ secrets.DOCKERHUB_TOKEN }}
67- - name : Build and push Docker image
67+ - name : Build and push Docker image for amd64
6868 uses : docker/build-push-action@v5
6969 with :
70- platforms : linux/amd64,linux/arm64
70+ platforms : linux/amd64
7171 push : true
7272 tags : |
73- cybuerg/cfspeedtest:${{ github.ref_name }}
74- cybuerg/cfspeedtest:latest
73+ cybuerg/cfspeedtest:${{ github.ref_name }}-amd64
74+ cybuerg/cfspeedtest:latest-amd64
7575 cache-from : type=local,src=/tmp/.buildx-cache
76- cache-to : type=local,dest=/tmp/.buildx-cache-new,mode=max
77- - name : Move cache
76+ cache-to : type=local,dest=/tmp/.buildx-cache-amd64,mode=max
77+
78+ - name : Build and push Docker image for arm64
79+ uses : docker/build-push-action@v5
80+ with :
81+ platforms : linux/arm64
82+ push : true
83+ tags : |
84+ cybuerg/cfspeedtest:${{ github.ref_name }}-arm64
85+ cybuerg/cfspeedtest:latest-arm64
86+ cache-from : type=local,src=/tmp/.buildx-cache
87+ cache-to : type=local,dest=/tmp/.buildx-cache-arm64,mode=max
88+
89+ - name : Create and push multi-platform manifest
90+ run : |
91+ docker manifest create cybuerg/cfspeedtest:${{ github.ref_name }} \
92+ cybuerg/cfspeedtest:${{ github.ref_name }}-amd64 \
93+ cybuerg/cfspeedtest:${{ github.ref_name }}-arm64
94+ docker manifest create cybuerg/cfspeedtest:latest \
95+ cybuerg/cfspeedtest:latest-amd64 \
96+ cybuerg/cfspeedtest:latest-arm64
97+ docker manifest push cybuerg/cfspeedtest:${{ github.ref_name }}
98+ docker manifest push cybuerg/cfspeedtest:latest
99+
100+ - name : Merge and move cache
78101 run : |
102+ mkdir -p /tmp/.buildx-cache-new
103+ cp -r /tmp/.buildx-cache-amd64/* /tmp/.buildx-cache-new/ || true
104+ cp -r /tmp/.buildx-cache-arm64/* /tmp/.buildx-cache-new/ || true
79105 rm -rf /tmp/.buildx-cache
80106 mv /tmp/.buildx-cache-new /tmp/.buildx-cache
0 commit comments