@@ -107,43 +107,48 @@ jobs:
107
107
with :
108
108
name : mac-aarch64
109
109
path : target/aarch64-apple-darwin/release/dmarc-report-viewer
110
- docker_linux_x86_64 :
111
- name : Docker (Linux, x86-64)
110
+ docker_linux :
111
+ name : Docker (Linux, x86-64, aarch64)
112
+ needs : [linux_x86_64, linux_aarch64]
112
113
runs-on : ubuntu-24.04
113
114
permissions :
114
115
contents : read
115
116
packages : write
116
117
steps :
117
118
- name : Checkout
118
119
uses : actions/checkout@v4
119
- - name : Build Docker Image
120
- run : docker build . --build-arg GITHUB_SHA --build-arg GITHUB_REF_NAME --pull --tag dmarc-report-viewer
121
- - name : Test Docker Image
122
- run : docker run --rm dmarc-report-viewer ./dmarc-report-viewer --help
123
- - name : Publish Latest Docker Image
120
+ - name : Download Artifacts
121
+ uses : actions/download-artifact@v4
122
+ - name : Prepare Binary Artifacts
123
+ run : |
124
+ mv linux-x86_64 .github/docker/linux-amd64
125
+ mv linux-aarch64 .github/docker/linux-arm64
126
+ chmod +x .github/docker/linux-amd64/dmarc-report-viewer
127
+ chmod +x .github/docker/linux-arm64/dmarc-report-viewer
128
+ - name : Build Docker Images
129
+ run : |
130
+ cd .github/docker/
131
+ echo ${{secrets.GITHUB_TOKEN}} | docker login ghcr.io -u ${{github.actor}} --password-stdin
132
+ docker builder create --name builder
133
+ docker buildx build --builder builder --platform=linux/amd64,linux/arm64 --pull --push --tag ghcr.io/${{github.actor}}/dmarc-report-viewer:buildx --tag ghcr.io/${{github.actor}}/dmarc-report-viewer:test .
134
+ - name : Build Develop Docker Images
124
135
if : ${{github.ref == 'refs/heads/master'}}
125
136
run : |
137
+ cd .github/docker/
126
138
echo ${{secrets.GITHUB_TOKEN}} | docker login ghcr.io -u ${{github.actor}} --password-stdin
127
- docker tag dmarc-report-viewer ghcr.io/${{github.actor}}/dmarc-report-viewer:develop
128
- docker push ghcr.io/${{github.actor}}/dmarc-report-viewer:develop
129
- - name : Publish Tagged Docker Image
139
+ docker buildx build --builder builder --platform=linux/amd64,linux/arm64 --pull --push --tag ghcr.io/${{github.actor}}/dmarc-report-viewer:develop .
140
+ docker run --rm ghcr.io/${{github.actor}}/dmarc-report-viewer:develop ./dmarc-report-viewer --version
141
+ - name : Build Release Docker Images
130
142
if : startsWith(github.ref, 'refs/tags/')
131
143
run : |
144
+ cd .github/docker/
132
145
echo ${{secrets.GITHUB_TOKEN}} | docker login ghcr.io -u ${{github.actor}} --password-stdin
133
- docker tag dmarc-report-viewer ghcr.io/${{github.actor}}/dmarc-report-viewer:latest
134
- docker push ghcr.io/${{github.actor}}/dmarc-report-viewer:latest
135
- docker tag dmarc-report-viewer ghcr.io/${{github.actor}}/dmarc-report-viewer:${{github.ref_name}}
136
- docker push ghcr.io/${{github.actor}}/dmarc-report-viewer:${{github.ref_name}}
137
- - name : Save Docker Image
138
- run : docker save -o dmarc-report-viewer.tar dmarc-report-viewer
139
- - uses : actions/upload-artifact@v4
140
- with :
141
- name : docker-linux-x86_64
142
- path : dmarc-report-viewer.tar
146
+ docker buildx build --builder builder --platform=linux/amd64,linux/arm64 --pull --push --tag ghcr.io/${{github.actor}}/dmarc-report-viewer:latest --tag ghcr.io/${{github.actor}}/dmarc-report-viewer:${{github.ref_name}} .
147
+ docker run --rm ghcr.io/${{github.actor}}/dmarc-report-viewer:latest ./dmarc-report-viewer --version
143
148
release :
144
149
name : Release
145
150
if : startsWith(github.ref, 'refs/tags/')
146
- needs : [linux_x86_64, linux_aarch64, windows_x86_64, mac_x86_64, mac_aarch64, docker_linux_x86_64 ]
151
+ needs : [linux_x86_64, linux_aarch64, windows_x86_64, mac_x86_64, mac_aarch64, docker_linux ]
147
152
runs-on : ubuntu-24.04
148
153
permissions :
149
154
contents : write
@@ -159,7 +164,6 @@ jobs:
159
164
zip -r linux-aarch64.zip linux-aarch64
160
165
zip -r mac-x86_64.zip mac-x86_64
161
166
zip -r mac-aarch64.zip mac-aarch64
162
- mv docker-linux-x86_64/dmarc-report-viewer.tar docker-linux-x86_64.tar
163
167
- name : Publish Release
164
168
uses : softprops/action-gh-release@v2
165
169
with :
@@ -172,4 +176,3 @@ jobs:
172
176
linux-aarch64.zip
173
177
mac-x86_64.zip
174
178
mac-aarch64.zip
175
- docker-linux-x86_64.tar
0 commit comments