11
11
- main
12
12
13
13
env :
14
- DOCKER_PLATFORMS : " linux/arm,linux/arm64,linux/amd64,linux/ppc64le,linux/s390x,linux/mips64le,linux/386"
14
+ DOCKER_PLATFORMS : " linux/arm/v5 ,linux/arm/v6,linux/arm/v7,linux/ arm64,linux/amd64,linux/ppc64le,linux/s390x,linux/mips64le,linux/386,linux/riscv64 "
15
15
16
16
concurrency :
17
17
group : ${{ github.ref_name }}-ci
51
51
packages : write # for docker/build-push-action to push to GHCR
52
52
issues : write # for goreleaser/goreleaser-action to close milestones
53
53
needs : unit-tests
54
+ services :
55
+ registry :
56
+ image : registry:2
57
+ ports :
58
+ - 5000:5000
54
59
steps :
55
60
- name : Checkout Repository
56
61
uses : actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
@@ -64,14 +69,12 @@ jobs:
64
69
65
70
- name : Setup QEMU
66
71
uses : docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3.2.0
67
- with :
68
- platforms : arm,arm64,ppc64le,s390x,mips64le,386
69
- if : github.event_name != 'pull_request'
70
72
71
73
- name : Docker Buildx
72
74
uses : docker/setup-buildx-action@988b5a0280414f521da01fcc63a27aeeb4b104db # v3.6.1
73
75
with :
74
76
version : latest
77
+ driver-opts : network=host
75
78
76
79
- name : DockerHub Login
77
80
uses : docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
@@ -114,15 +117,17 @@ jobs:
114
117
uses : docker/metadata-action@8e5442c4ef9f78752691e2d8f8d19755c6f78e81 # v5.5.1
115
118
with :
116
119
images : |
117
- nginx/nginx-prometheus-exporter
118
- ghcr.io/nginxinc/nginx-prometheus-exporter
119
- public.ecr.aws/nginx/nginx-prometheus-exporter
120
- quay.io/nginx/nginx-prometheus-exporter
120
+ name=nginx/nginx-prometheus-exporter,enable=${{ github.event_name != 'pull_request' }}
121
+ name=ghcr.io/nginxinc/nginx-prometheus-exporter,enable=${{ github.event_name != 'pull_request' }}
122
+ name=public.ecr.aws/nginx/nginx-prometheus-exporter,enable=${{ github.event_name != 'pull_request' }}
123
+ name=quay.io/nginx/nginx-prometheus-exporter,enable=${{ github.event_name != 'pull_request' }}
124
+ name=localhost:5000/nginx/nginx-prometheus-exporter
121
125
tags : |
122
126
type=edge
123
127
type=ref,event=pr
124
128
type=schedule
125
129
type=semver,pattern={{version}}
130
+ type=semver,pattern={{major}}
126
131
type=semver,pattern={{major}}.{{minor}}
127
132
labels : |
128
133
org.opencontainers.image.vendor=NGINX Inc <[email protected] >
@@ -174,7 +179,7 @@ jobs:
174
179
uses : goreleaser/goreleaser-action@286f3b13b1b49da4ac219696163fb8c1c93e1200 # v6.0.0
175
180
with :
176
181
version : v2.3.2 # renovate: datasource=github-tags depName=goreleaser/goreleaser
177
- args : ${{ github.ref_type == 'tag' && 'release' || 'build --snapshot' }} ${{ github.event_name == 'pull_request' && '--single-target' || '' }} --clean
182
+ args : ${{ github.ref_type == 'tag' && 'release' || 'build --snapshot' }} --clean
178
183
env :
179
184
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
180
185
NGINX_GITHUB_TOKEN : ${{ secrets.NGINX_PAT }}
@@ -191,23 +196,23 @@ jobs:
191
196
file : build/Dockerfile
192
197
context : " ."
193
198
target : goreleaser
194
- platforms : ${{ github.event_name != 'pull_request' && env.DOCKER_PLATFORMS || '' }}
199
+ platforms : ${{ env.DOCKER_PLATFORMS }}
195
200
tags : ${{ steps.meta.outputs.tags }}
196
201
labels : ${{ steps.meta.outputs.labels }}
197
- annotations : ${{ github.event_name != 'pull_request' && steps.meta.outputs.annotations || '' }}
198
- load : ${{ github.event_name == 'pull_request' }}
199
- push : ${{ github.event_name != 'pull_request' }}
200
- cache-from : type=gha
201
- cache-to : type=gha,mode=max
202
- provenance : ${{ github.event_name != 'pull_request' && ' mode=max' || 'false' }}
203
- sbom : ${{ github.event_name != 'pull_request' }}
202
+ annotations : ${{ steps.meta.outputs.annotations }}
203
+ push : true
204
+ cache-from : type=gha,scope=exporter
205
+ cache-to : type=gha,scope=exporter,mode=max
206
+ no-cache : ${{ github.event_name != 'pull_request' }}
207
+ provenance : mode=max
208
+ sbom : true
204
209
205
210
- name : Scan image
206
211
uses : anchore/scan-action@64a33b277ea7a1215a3c142735a1091341939ff5 # v4.1.2
207
212
id : scan
208
213
continue-on-error : true
209
214
with :
210
- image : nginx/nginx-prometheus-exporter:${{ steps.meta.outputs.version }}
215
+ image : localhost:5000/ nginx/nginx-prometheus-exporter:${{ steps.meta.outputs.version }}
211
216
only-fixed : true
212
217
add-cpes-if-none : true
213
218
0 commit comments