@@ -107,43 +107,84 @@ 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_x86_64:
111
+ # name: Docker (Linux, x86-64)
112
+ # runs-on: ubuntu-24.04
113
+ # permissions:
114
+ # contents: read
115
+ # packages: write
116
+ # steps:
117
+ # - name: Checkout
118
+ # 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
124
+ # if: ${{github.ref == 'refs/heads/master'}}
125
+ # run: |
126
+ # 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
130
+ # if: startsWith(github.ref, 'refs/tags/')
131
+ # run: |
132
+ # 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
143
+ docker_linux :
144
+ name : Docker (Linux, x86-64, aarch64)
145
+ needs : [linux_x86_64, linux_aarch64]
112
146
runs-on : ubuntu-24.04
113
147
permissions :
114
148
contents : read
115
149
packages : write
116
150
steps :
117
151
- name : Checkout
118
152
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
153
+ - name : Download Artifacts
154
+ uses : actions/download-artifact@v4
155
+ - name : Prepare Binary Artifacts
156
+ run : |
157
+ mv linux-x86_64 .github/docker/linux-amd64
158
+ mv linux-aarch64 .github/docker/linux-arm64
159
+ chmod +x .github/docker/linux-amd64/dmarc-report-viewer
160
+ chmod +x .github/docker/linux-arm64/dmarc-report-viewer
161
+ - name : Build Docker Images
162
+ run : |
163
+ cd .github/docker/
164
+ echo ${{secrets.GITHUB_TOKEN}} | docker login ghcr.io -u ${{github.actor}} --password-stdin
165
+ docker builder create --name builder
166
+ docker buildx build --builder builder --platform=linux/amd64,linux/arm64 --pull --push --tag ghcr.io/${{github.actor}}/dmarc-report-viewer:buildx .
167
+ docker run --rm ghcr.io/${{github.actor}}/dmarc-report-viewer:buildx ./dmarc-report-viewer --version
168
+ - name : Build Develop Docker Images
124
169
if : ${{github.ref == 'refs/heads/master'}}
125
170
run : |
171
+ cd .github/docker/
126
172
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
173
+ docker builder create --name builder
174
+ docker buildx build --builder builder --platform=linux/amd64,linux/arm64 --pull --push --tag ghcr.io/${{github.actor}}/dmarc-report-viewer:develop .
175
+ docker run --rm ghcr.io/${{github.actor}}/dmarc-report-viewer:develop ./dmarc-report-viewer --version
176
+ - name : Build Release Docker Images
130
177
if : startsWith(github.ref, 'refs/tags/')
131
178
run : |
179
+ cd .github/docker/
132
180
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
181
+ docker builder create --name builder
182
+ 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}} .
183
+ docker run --rm ghcr.io/${{github.actor}}/dmarc-report-viewer:latest ./dmarc-report-viewer --version
143
184
release :
144
185
name : Release
145
186
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 ]
187
+ needs : [linux_x86_64, linux_aarch64, windows_x86_64, mac_x86_64, mac_aarch64, docker_linux ]
147
188
runs-on : ubuntu-24.04
148
189
permissions :
149
190
contents : write
@@ -159,7 +200,6 @@ jobs:
159
200
zip -r linux-aarch64.zip linux-aarch64
160
201
zip -r mac-x86_64.zip mac-x86_64
161
202
zip -r mac-aarch64.zip mac-aarch64
162
- mv docker-linux-x86_64/dmarc-report-viewer.tar docker-linux-x86_64.tar
163
203
- name : Publish Release
164
204
uses : softprops/action-gh-release@v2
165
205
with :
@@ -172,4 +212,3 @@ jobs:
172
212
linux-aarch64.zip
173
213
mac-x86_64.zip
174
214
mac-aarch64.zip
175
- docker-linux-x86_64.tar
0 commit comments