45
45
zip : windows
46
46
token : ${{ secrets.GITHUB_TOKEN }}
47
47
48
- docker-build-and-push :
48
+ docker-build-amd64 :
49
49
needs : [create-release, upload-assets]
50
50
runs-on : ubuntu-latest
51
51
steps :
@@ -57,11 +57,50 @@ jobs:
57
57
with :
58
58
username : ${{ secrets.DOCKERHUB_USERNAME }}
59
59
password : ${{ secrets.DOCKERHUB_TOKEN }}
60
- - name : Build and push Docker image
60
+ - name : Build and push AMD64 Docker image
61
61
uses : docker/build-push-action@v5
62
62
with :
63
- platforms : linux/amd64,linux/arm64
63
+ platforms : linux/amd64
64
64
push : true
65
65
tags : |
66
- cybuerg/cfspeedtest:${{ github.ref_name }}
67
- cybuerg/cfspeedtest:latest
66
+ cybuerg/cfspeedtest:${{ github.ref_name }}-amd64
67
+ cybuerg/cfspeedtest:latest-amd64
68
+
69
+ docker-build-arm64 :
70
+ needs : [create-release, upload-assets]
71
+ runs-on : ubuntu-24.04-arm
72
+ steps :
73
+ - uses : actions/checkout@v4
74
+ - name : Log in to DockerHub
75
+ uses : docker/login-action@v3
76
+ with :
77
+ username : ${{ secrets.DOCKERHUB_USERNAME }}
78
+ password : ${{ secrets.DOCKERHUB_TOKEN }}
79
+ - name : Build and push ARM64 Docker image
80
+ run : |
81
+ docker build --platform linux/arm64 -t cybuerg/cfspeedtest:${{ github.ref_name }}-arm64 -t cybuerg/cfspeedtest:latest-arm64 .
82
+ docker push cybuerg/cfspeedtest:${{ github.ref_name }}-arm64
83
+ docker push cybuerg/cfspeedtest:latest-arm64
84
+
85
+ docker-create-manifest :
86
+ needs : [docker-build-amd64, docker-build-arm64]
87
+ runs-on : ubuntu-latest
88
+ steps :
89
+ - name : Log in to DockerHub
90
+ uses : docker/login-action@v3
91
+ with :
92
+ username : ${{ secrets.DOCKERHUB_USERNAME }}
93
+ password : ${{ secrets.DOCKERHUB_TOKEN }}
94
+ - name : Create and push multi-arch manifest
95
+ run : |
96
+ # Create manifest for versioned tag
97
+ docker manifest create cybuerg/cfspeedtest:${{ github.ref_name }} \
98
+ cybuerg/cfspeedtest:${{ github.ref_name }}-amd64 \
99
+ cybuerg/cfspeedtest:${{ github.ref_name }}-arm64
100
+ docker manifest push cybuerg/cfspeedtest:${{ github.ref_name }}
101
+
102
+ # Create manifest for latest tag
103
+ docker manifest create cybuerg/cfspeedtest:latest \
104
+ cybuerg/cfspeedtest:latest-amd64 \
105
+ cybuerg/cfspeedtest:latest-arm64
106
+ docker manifest push cybuerg/cfspeedtest:latest
0 commit comments