Skip to content

Commit cab70d7

Browse files
authored
build UBI s390x nginx package for OSS images (nginx#6846)
1 parent 6007227 commit cab70d7

File tree

4 files changed

+15
-14
lines changed

4 files changed

+15
-14
lines changed

.github/workflows/build-ubi-dependency.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on:
55
branches:
66
- main
77
paths:
8-
- build/dependencies/Dockerfile.ubi-ppc64le
8+
- build/dependencies/Dockerfile.ubi
99
workflow_dispatch:
1010
inputs:
1111
nginx_version:
@@ -58,7 +58,7 @@ jobs:
5858
if [ -n "${{ inputs.nginx_version }}" ]; then
5959
nginx_v=${{ inputs.nginx_version }}
6060
else
61-
nginx_v=$(grep -m1 'FROM nginx:' <build/dependencies/Dockerfile.ubi-ppc64le | cut -d '@' -f1 | awk -F'[: ]' '{print $3}')
61+
nginx_v=$(grep -m1 'FROM nginx:' <build/dependencies/Dockerfile.ubi | cut -d '@' -f1 | awk -F'[: ]' '{print $3}')
6262
fi
6363
target_image=${{ env.IMAGE_NAME }}:nginx-${nginx_v}
6464
if docker manifest inspect ${target_image}; then
@@ -120,7 +120,7 @@ jobs:
120120
- name: Build and push
121121
uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 # v6.9.0
122122
with:
123-
file: ./build/dependencies/Dockerfile.ubi-ppc64le
123+
file: ./build/dependencies/Dockerfile.ubi
124124
context: "."
125125
pull: true
126126
push: true

.github/workflows/update-docker-sha.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ jobs:
6262
ARGS="--exclude ${{ github.event.inputs.excludes }}"
6363
fi
6464
.github/scripts/docker-updater.sh ./build/Dockerfile $ARGS
65-
.github/scripts/docker-updater.sh ./build/dependencies/Dockerfile.ubi-ppc64le $ARGS
65+
.github/scripts/docker-updater.sh ./build/dependencies/Dockerfile.ubi $ARGS
6666
.github/scripts/docker-updater.sh ./tests/Dockerfile $ARGS
6767
files=$(git diff --name-only)
6868
if [[ $files == *"Dockerfile"* ]]; then

build/Dockerfile

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ ARG PACKAGE_REPO=pkgs.nginx.com
1313
############################################# Base images containing libs for Opentracing and FIPS #############################################
1414
FROM ghcr.io/nginxinc/dependencies/nginx-ot:nginx-1.27.2@sha256:022d9c1e36caedfb502d6ac56b6b8e40977be73517f61f1b525686dec147355d AS opentracing-lib
1515
FROM ghcr.io/nginxinc/dependencies/nginx-ot:nginx-1.27.2-alpine@sha256:7379ceee1ffc21669312a3e882ecd504e14a7f30bdc9bcfdc632030ea3777b0a AS alpine-opentracing-lib
16-
FROM ghcr.io/nginxinc/dependencies/nginx-ubi-ppc64le:nginx-1.27.2@sha256:6288dc0ec71dfcacfbe3578bb0731c03e7e012956e5b01393d28650df54d9b9e AS ubi-ppc64le
16+
FROM ghcr.io/nginxinc/dependencies/nginx-ubi-ppc64le:nginx-1.27.2@sha256:4c47c1295b25018342d9f7c8383fd933e73e162a482f2f45a21326f70c6d501d AS ubi-ppc64le
1717
FROM ghcr.io/nginxinc/alpine-fips:0.2.3-alpine3.17@sha256:67b69b49aff96e185be841e2b2ff2d8236551ea5c18002bffa4344798d803fd8 AS alpine-fips-3.17
1818
FROM ghcr.io/nginxinc/alpine-fips:0.2.3-alpine3.20@sha256:4c29e5c50b122354d9d4ba6b97cdf64647468e788b965fc0240ead541653454a AS alpine-fips-3.20
1919
FROM redhat/ubi9-minimal@sha256:c0e70387664f30cd9cf2795b547e4a9a51002c44a4a86aa9335ab030134bf392 AS ubi-minimal
@@ -300,7 +300,7 @@ RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode
300300
&& apt-get update \
301301
&& if [ "${NGINX_AGENT}" = "true" ]; then apt-get install --no-install-recommends --no-install-suggests -y nginx-agent; fi \
302302
&& if [ -z "${NAP_MODULES##*waf*}" ]; then \
303-
apt-get install --no-install-recommends --no-install-suggests -y app-protect-module-plus=32+5.144*; \
303+
apt-get install --no-install-recommends --no-install-suggests -y app-protect-plugin=6.3.0* app-protect-module-plus=32+5.144* nginx-plus-module-appprotect=32+5.144*; \
304304
rm -f /etc/apt/sources.list.d/app-protect.sources; \
305305
nap-waf.sh; \
306306
fi \
@@ -332,20 +332,20 @@ RUN --mount=type=bind,from=nginx-files,src=nginx_signing.key,target=/tmp/nginx_s
332332
--mount=type=bind,from=nginx-files,src=ubi-clean.sh,target=/usr/local/bin/ubi-clean.sh \
333333
--mount=type=bind,from=ubi-ppc64le,src=/,target=/ubi-bin/ \
334334
ubi-setup.sh; \
335-
if [ $(uname -p) != ppc64le ]; then \
336-
printf "%s\n" "[nginx]" "name=nginx repo" \
337-
"baseurl=https://nginx.org/packages/mainline/centos/9/\$basearch/" \
338-
"gpgcheck=1" "enabled=1" "module_hotfixes=true" > /etc/yum.repos.d/nginx.repo \
339-
&& microdnf --nodocs install -y nginx nginx-module-njs nginx-module-image-filter nginx-module-xslt \
340-
&& rm /etc/yum.repos.d/nginx.repo; \
341-
else \
335+
if [ $(uname -p) = ppc64le ] || [ $(uname -p) = s390x ]; then \
342336
rpm -qa --queryformat "%{NAME}\n" | sort > pkgs-installed \
343337
&& microdnf --nodocs --setopt=install_weak_deps=0 install -y diffutils dnf \
344338
&& rpm -qa --queryformat "%{NAME}\n" | sort > pkgs-new \
345339
&& dnf install -y /ubi-bin/*.rpm \
346340
&& dnf -q repoquery --resolve --requires --recursive --whatrequires nginx --queryformat "%{NAME}" > pkgs-nginx \
347341
&& dnf --setopt=protected_packages= remove -y $(comm -13 pkgs-installed pkgs-new | comm -13 pkgs-nginx -) \
348342
&& rm pkgs-installed pkgs-new pkgs-nginx; \
343+
else \
344+
printf "%s\n" "[nginx]" "name=nginx repo" \
345+
"baseurl=https://nginx.org/packages/mainline/centos/9/\$basearch/" \
346+
"gpgcheck=1" "enabled=1" "module_hotfixes=true" > /etc/yum.repos.d/nginx.repo \
347+
&& microdnf --nodocs install -y nginx nginx-module-njs nginx-module-image-filter nginx-module-xslt \
348+
&& rm /etc/yum.repos.d/nginx.repo; \
349349
fi \
350350
&& ubi-clean.sh
351351

build/dependencies/Dockerfile.ubi-ppc64le renamed to build/dependencies/Dockerfile.ubi

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ ENV NJS_VERSION ${NJS}
1010

1111
RUN mkdir -p /nginx/; \
1212
# only build for ppc64le but make multiarch image for mounting
13-
[ $(uname -p) != ppc64le ] && exit 0; \
13+
[ $(uname -p) = x86_64 ] && exit 0; \
14+
[ $(uname -p) = aarch64 ] && exit 0; \
1415
rpm --import https://nginx.org/keys/nginx_signing.key \
1516
&& MINOR_VERSION=$(echo ${NGINX_VERSION} | cut -d '.' -f 2) \
1617
&& if [ $(( $MINOR_VERSION % 2)) -eq 0 ]; then echo mainline=""; else mainline="mainline/"; fi \

0 commit comments

Comments
 (0)