11---
2+ # yaml-language-server: $schema=https://www.schemastore.org/github-workflow.json
23name : latest
34
45" on " :
6+ workflow_dispatch :
57 push :
68 branches :
79 - master
@@ -14,15 +16,26 @@ name: latest
1416 paths :
1517 - latest/*
1618 - .github/workflows/docker.yml
17- workflow_dispatch :
19+
20+ permissions :
21+ contents : read
22+ packages : write
1823
1924jobs :
2025 docker :
2126 runs-on : ubuntu-latest
2227
28+ strategy :
29+ fail-fast : false
30+ matrix :
31+ variant :
32+ - arch : amd64
33+ platform : linux/amd64
34+ - arch : arm64
35+ platform : linux/arm64
36+
2337 steps :
2438 - name : Checkout source
25- id : source
2639 uses : actions/checkout@v5
2740
2841 - name : Docker meta
@@ -39,23 +52,20 @@ jobs:
3952 maintainer=Thomas Boerger <thomas@webhippie.de>
4053
4154 - name : Setup QEMU
42- id : qemu
4355 uses : docker/setup-qemu-action@v3
4456
4557 - name : Setup Buildx
4658 id : buildx
4759 uses : docker/setup-buildx-action@v3
4860
4961 - name : Hub login
50- id : login1
5162 uses : docker/login-action@v3
5263 if : github.event_name != 'pull_request'
5364 with :
5465 username : ${{ secrets.DOCKER_USERNAME }}
5566 password : ${{ secrets.DOCKER_PASSWORD }}
5667
5768 - name : Quay login
58- id : login2
5969 uses : docker/login-action@v3
6070 if : github.event_name != 'pull_request'
6171 with :
@@ -64,50 +74,41 @@ jobs:
6474 password : ${{ secrets.QUAY_PASSWORD }}
6575
6676 - name : Ghcr login
67- id : login3
6877 uses : docker/login-action@v3
6978 if : github.event_name != 'pull_request'
7079 with :
7180 registry : ghcr.io
7281 username : ${{ github.actor }}
7382 password : ${{ secrets.GITHUB_TOKEN }}
7483
75- - name : Build amd64
76- id : amd64
84+ - name : Build image
7785 uses : docker/build-push-action@v6
7886 with :
7987 builder : ${{ steps.buildx.outputs.name }}
8088 context : latest/
8189 provenance : false
82- file : latest/Dockerfile.amd64
83- platforms : linux/amd64
90+ file : latest/Dockerfile.${{ matrix.variant.arch }}
91+ platforms : ${{ matrix.variant.platform }}
8492 push : ${{ github.event_name != 'pull_request' }}
8593 labels : ${{ steps.meta.outputs.labels }}
8694 tags : |
87- webhippie/java:latest-amd64
88- quay.io/webhippie/java:latest-amd64
89- ghcr.io/dockhippie/java:latest-amd64
95+ webhippie/java:latest-${{ matrix.variant.arch }}
96+ quay.io/webhippie/java:latest-${{ matrix.variant.arch }}
97+ ghcr.io/dockhippie/java:latest-${{ matrix.variant.arch }}
9098
91- - name : Build arm64
92- id : arm64
93- uses : docker/build-push-action@v6
94- with :
95- builder : ${{ steps.buildx.outputs.name }}
96- context : latest/
97- provenance : false
98- file : latest/Dockerfile.arm64
99- platforms : linux/arm64
100- push : ${{ github.event_name != 'pull_request' }}
101- labels : ${{ steps.meta.outputs.labels }}
102- tags : |
103- webhippie/java:latest-arm64
104- quay.io/webhippie/java:latest-arm64
105- ghcr.io/dockhippie/java:latest-arm64
99+ manifest :
100+ runs-on : ubuntu-latest
101+ if : github.event_name != 'pull_request'
102+
103+ needs :
104+ - docker
105+
106+ steps :
107+ - name : Checkout source
108+ uses : actions/checkout@v5
106109
107110 - name : Hub manifest
108- id : manifest1
109111 uses : actionhippie/manifest@v1
110- if : github.event_name != 'pull_request'
111112 with :
112113 username : ${{ secrets.DOCKER_USERNAME }}
113114 password : ${{ secrets.DOCKER_PASSWORD }}
@@ -117,9 +118,7 @@ jobs:
117118 ignore_missing : true
118119
119120 - name : Quay manifest
120- id : manifest2
121121 uses : actionhippie/manifest@v1
122- if : github.event_name != 'pull_request'
123122 with :
124123 username : ${{ secrets.QUAY_USERNAME }}
125124 password : ${{ secrets.QUAY_PASSWORD }}
@@ -129,9 +128,7 @@ jobs:
129128 ignore_missing : true
130129
131130 - name : Ghcr manifest
132- id : manifest3
133131 uses : actionhippie/manifest@v1
134- if : github.event_name != 'pull_request'
135132 with :
136133 username : ${{ github.actor }}
137134 password : ${{ secrets.GITHUB_TOKEN }}
0 commit comments