Skip to content

Commit 72381e2

Browse files
authored
Add support for s390x and ppc64le (#1755)
Problem: I want to be able to run NGF on my IBM Z or PowerPC, but there aren't any binaries or Docker images available Solution: Build binaries and Docker images for s390x and ppc64le.
1 parent 3e5ad4d commit 72381e2

File tree

2 files changed

+28
-12
lines changed

2 files changed

+28
-12
lines changed

.github/workflows/ci.yml

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -165,14 +165,14 @@ jobs:
165165
path: ${{ github.workspace }}/dist
166166
key: nginx-gateway-fabric-${{ github.run_id }}-${{ github.run_number }}
167167

168-
build:
169-
name: Build Image
168+
build-oss:
169+
name: Build OSS images
170170
needs: [vars, binary]
171171
strategy:
172172
fail-fast: false
173173
matrix:
174-
image: [ngf, nginx, plus]
175-
platforms: ["linux/arm64, linux/amd64"]
174+
image: [ngf, nginx]
175+
platforms: ["linux/arm64, linux/amd64, linux/s390x, linux/ppc64le"]
176176
uses: ./.github/workflows/build.yml
177177
with:
178178
image: ${{ matrix.image }}
@@ -184,9 +184,23 @@ jobs:
184184
id-token: write # for docker/login to login to NGINX registry
185185
secrets: inherit
186186

187+
build-plus:
188+
name: Build Plus images
189+
needs: [vars, binary]
190+
uses: ./.github/workflows/build.yml
191+
with:
192+
image: plus
193+
platforms: "linux/arm64, linux/amd64"
194+
permissions:
195+
contents: read # for docker/build-push-action to read repo content
196+
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
197+
packages: write # for docker/build-push-action to push to GHCR
198+
id-token: write # for docker/login to login to NGINX registry
199+
secrets: inherit
200+
187201
functional-tests:
188202
name: Functional tests
189-
needs: [vars, build]
203+
needs: [vars, build-oss, build-plus]
190204
strategy:
191205
fail-fast: false
192206
matrix:
@@ -201,7 +215,7 @@ jobs:
201215

202216
conformance-tests:
203217
name: Conformance tests
204-
needs: [vars, build]
218+
needs: [vars, build-oss, build-plus]
205219
strategy:
206220
fail-fast: false
207221
matrix:
@@ -219,7 +233,7 @@ jobs:
219233
helm-tests:
220234
name: Helm Tests
221235
runs-on: ubuntu-22.04
222-
needs: [vars, build]
236+
needs: [vars, build-oss]
223237
steps:
224238
- name: Checkout Repository
225239
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2

.goreleaser.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ builds:
88
goarch:
99
- amd64
1010
- arm64
11+
- s390x
12+
- ppc64le
1113
flags:
1214
- -trimpath
1315
gcflags:
@@ -38,13 +40,13 @@ sboms:
3840

3941
blobs:
4042
- provider: azblob
41-
bucket: '{{.Env.AZURE_BUCKET_NAME}}'
43+
bucket: "{{.Env.AZURE_BUCKET_NAME}}"
4244

4345
signs:
4446
- cmd: cosign
4547
artifacts: checksum
4648
output: true
47-
certificate: '${artifact}.pem'
49+
certificate: "${artifact}.pem"
4850
args:
4951
- sign-blob
5052
- "--output-signature=${signature}"
@@ -55,14 +57,14 @@ signs:
5557
announce:
5658
slack:
5759
enabled: true
58-
channel: '#announcements'
59-
message_template: 'NGINX Gateway Fabric {{ .Tag }} is out! Check it out: {{ .ReleaseURL }}'
60+
channel: "#announcements"
61+
message_template: "NGINX Gateway Fabric {{ .Tag }} is out! Check it out: {{ .ReleaseURL }}"
6062

6163
milestones:
6264
- close: true
6365

6466
snapshot:
65-
name_template: 'edge'
67+
name_template: "edge"
6668

6769
before:
6870
hooks:

0 commit comments

Comments
 (0)