6
6
image :
7
7
required : true
8
8
type : string
9
+ build-os :
10
+ required : false
11
+ type : string
12
+ default : ' '
9
13
k8s-version :
10
14
required : true
11
15
type : string
@@ -75,12 +79,12 @@ jobs:
75
79
images : |
76
80
name=ghcr.io/nginx/nginx-gateway-fabric
77
81
tags : |
78
- type=semver,pattern={{version}}
79
- type=edge
80
- type=schedule
81
- type=ref,event=pr
82
- type=ref,event=branch,suffix=-rc,enable=${{ startsWith(github.ref, 'refs/heads/release') && !inputs.production-release }}
83
- type=raw,value={{inputs.release_version}},enable=${{ inputs.production-release && inputs.release_version != '' }}
82
+ type=semver,pattern={{version}},suffix=${{ inputs.build-os != '' && format('-{0}', inputs.build-os) || '' }}
83
+ type=edge,suffix=${{ inputs.build-os != '' && format('-{0}', inputs.build-os) || '' }}
84
+ type=schedule,suffix=${{ inputs.build-os != '' && format('-{0}', inputs.build-os) || '' }}
85
+ type=ref,event=pr,suffix=${{ inputs.build-os != '' && format('-{0}', inputs.build-os) || '' }}
86
+ type=ref,event=branch,suffix=-rc${{ inputs.build-os != '' && format('-{0}', inputs.build-os) || '' }} ,enable=${{ startsWith(github.ref, 'refs/heads/release') && !inputs.production-release }}
87
+ type=raw,value={{ inputs.release_version }},enable=${{ inputs.production-release && inputs.release_version != '' }},suffix=${{ inputs.build-os != '' && format('-{0}', inputs.build-os) || '' }}
84
88
85
89
- name : NGINX Docker meta
86
90
id : nginx-meta
@@ -89,12 +93,12 @@ jobs:
89
93
images : |
90
94
name=ghcr.io/nginx/nginx-gateway-fabric/${{ inputs.image == 'plus' && 'nginx-plus' || inputs.image }}
91
95
tags : |
92
- type=semver,pattern={{version}}
93
- type=edge
94
- type=schedule
95
- type=ref,event=pr
96
- type=ref,event=branch,suffix=-rc,enable=${{ startsWith(github.ref, 'refs/heads/release') && !inputs.production-release }}
97
- type=raw,value={{inputs.release_version}},enable=${{ inputs.production-release && inputs.release_version != '' }}
96
+ type=semver,pattern={{version}},suffix=${{ inputs.build-os != '' && format('-{0}', inputs.build-os) || '' }}
97
+ type=edge,suffix=${{ inputs.build-os != '' && format('-{0}', inputs.build-os) || '' }}
98
+ type=schedule,suffix=${{ inputs.build-os != '' && format('-{0}', inputs.build-os) || '' }}
99
+ type=ref,event=pr,suffix=${{ inputs.build-os != '' && format('-{0}', inputs.build-os) || '' }}
100
+ type=ref,event=branch,suffix=-rc${{ inputs.build-os != '' && format('-{0}', inputs.build-os) || '' }} ,enable=${{ startsWith(github.ref, 'refs/heads/release') && !inputs.production-release }}
101
+ type=raw,value={{ inputs.release_version }},enable=${{ inputs.production-release && inputs.release_version != '' }},suffix=${{ inputs.build-os != '' && format('-{0}', inputs.build-os) || '' }}
98
102
99
103
- name : Build binary
100
104
uses : goreleaser/goreleaser-action@e435ccd777264be153ace6237001ef4d979d3a7a # v6.4.0
@@ -119,11 +123,11 @@ jobs:
119
123
- name : Build NGINX Docker Image
120
124
uses : docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
121
125
with :
122
- file : build/ Dockerfile${{ inputs.image == 'nginx' && '.nginx' || '' }}${{ inputs.image == 'plus' && '.nginxplus' || ''}}
126
+ file : build${{ inputs.build-os != '' && format('/{0}', inputs.build-os) || '' }}/ Dockerfile${{ inputs.image == 'nginx' && '.nginx' || '' }}${{ inputs.image == 'plus' && '.nginxplus' || '' }}
123
127
tags : ${{ steps.nginx-meta.outputs.tags }}
124
128
context : " ."
125
129
load : true
126
- cache-from : type=gha,scope=${{ inputs.image }}
130
+ cache-from : type=gha,scope=${{ inputs.image }}${{ inputs.build-os != '' && format('-{0}', inputs.build-os) || '' }}
127
131
pull : true
128
132
build-args : |
129
133
NJS_DIR=internal/controller/nginx/modules/src
@@ -178,7 +182,7 @@ jobs:
178
182
if : ${{ inputs.enable-experimental }}
179
183
uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
180
184
with :
181
- name : conformance-profile-${{ inputs.image }}-${{ inputs.k8s-version }}
185
+ name : conformance-profile-${{ inputs.image }}-${{ inputs.k8s-version }}-${{ steps.ngf-meta.outputs.version }}
182
186
path : ./tests/conformance-profile.yaml
183
187
184
188
- name : Upload profile to release
0 commit comments