Dynamically determine the architecture for the pytest image build#9217
Dynamically determine the architecture for the pytest image build#9217
Conversation
There was a problem hiding this comment.
Pull request overview
This PR enables multi-architecture support for the pytest test runner Docker image by dynamically detecting the host architecture and passing it as a build argument. Previously, the test image was hardcoded to use Intel/AMD64 architecture components (kubectl binary and Docker installation), which prevented it from building on ARM-based systems like Apple Silicon Macs.
Changes:
- Added dynamic architecture detection in tests/Makefile using
uname -mwith mappings for arm64 and x86_64 systems - Updated Dockerfile to accept and use an ARCH build argument for downloading architecture-specific kubectl binaries
- Replaced deprecated architecture-specific Docker static binary download with Docker's official convenience installation script that supports multiple architectures
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| tests/Makefile | Added architecture detection logic (lines 33-40) and updated docker build command to pass ARCH as a build argument |
| tests/Dockerfile | Added ARCH argument with amd64 default, updated kubectl download URL to use ${ARCH}, and replaced legacy Docker installation with get.docker.com script |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| ARCH ?= arm64 | ||
| else ifeq ($(UNAME_M),x86_64) | ||
| ARCH ?= amd64 |
There was a problem hiding this comment.
The fallback case uses the raw uname -m output as the ARCH value. While this provides flexibility, it may lead to build failures if uname -m returns an architecture name that kubectl or Docker don't recognize. For example, some systems may report 'aarch64' instead of 'arm64', or 'i386'/'i686' instead of '386'. Consider either adding more explicit architecture mappings (e.g., mapping 'aarch64' to 'arm64') or documenting which architectures are expected to work with this fallback.
| ARCH ?= arm64 | |
| else ifeq ($(UNAME_M),x86_64) | |
| ARCH ?= amd64 | |
| ARCH ?= arm64 | |
| else ifeq ($(UNAME_M),aarch64) | |
| ARCH ?= arm64 | |
| else ifeq ($(UNAME_M),x86_64) | |
| ARCH ?= amd64 | |
| else ifeq ($(UNAME_M),i386) | |
| ARCH ?= 386 | |
| else ifeq ($(UNAME_M),i686) | |
| ARCH ?= 386 |
| RUN curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/${ARCH}/kubectl \ | ||
| && install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl \ | ||
| && curl https://get.docker.com/builds/Linux/x86_64/docker-latest.tgz | tar xvz -C /tmp/ && mv /tmp/docker/docker /usr/bin/docker | ||
| && curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh |
There was a problem hiding this comment.
The Docker installation has been changed from a static binary download to using Docker's convenience script (get.docker.com). While this is Docker's officially recommended installation method and properly supports multiple architectures, the script is executed without checksum verification. This means if the script is compromised or modified between downloads, it could execute malicious code. Consider adding SHA256 checksum verification for the script, or document that this is acceptable for a test-only image. Additionally, note that the convenience script always installs the latest Docker version, which could lead to test inconsistency over time - consider whether this is acceptable for your use case.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #9217 +/- ##
==========================================
+ Coverage 53.95% 54.26% +0.30%
==========================================
Files 91 95 +4
Lines 18692 18888 +196
==========================================
+ Hits 10086 10249 +163
- Misses 8075 8095 +20
- Partials 531 544 +13 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Package ReportDetailsgcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx, 1.29.5-1~trixie, amd64gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-module-njs, 1.29.5+0.9.5-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-module-otel, 1.29.5+0.1.2-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-agent, 3.7.1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx, 1.29.5-1~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-module-njs, 1.29.5+0.9.5-1~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-module-otel, 1.29.5+0.1.2-1~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-agent, 3.7.1~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus, 36-3~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus-module-njs, 36+0.9.5-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus-module-otel, 36+0.1.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus-module-fips-check, 36+0.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-agent, 3.7.1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus, 36-3~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus-module-njs, 36+0.9.5-1~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus-module-otel, 36+0.1.2-1~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus-module-fips-check, 36+0.1-1~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-agent, 3.7.1~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus, 36-3~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus-module-njs, 36+0.9.5-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus-module-otel, 36+0.1.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus-module-fips-check, 36+0.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus-module-appprotect, 36+5.575.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, app-protect, 36+5.575.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, app-protect-attack-signatures, 2026.02.18-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, app-protect-threat-campaigns, 2026.02.16-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-agent, 2.45.2~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus, 36-3~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus-module-njs, 36+0.9.5-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus-module-otel, 36+0.1.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus-module-fips-check, 36+0.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus-module-appprotect, 36+5.575.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, app-protect-module-plus, 36+5.575.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, app-protect-plugin, 6.25.0-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-agent, 2.45.2~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus, 36-3~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus-module-njs, 36+0.9.5-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus-module-otel, 36+0.1.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus-module-fips-check, 36+0.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus-module-appprotectdos, 36+4.8.3-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, app-protect-dos, 36+4.8.3-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus, 36-3~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus-module-njs, 36+0.9.5-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus-module-otel, 36+0.1.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus-module-fips-check, 36+0.1-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus-module-appprotect, 36+5.575.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, app-protect, 36+5.575.2-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, app-protect-attack-signatures, 2026.02.18-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, app-protect-threat-campaigns, 2026.02.16-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-plus-module-appprotectdos, 36+4.8.3-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, app-protect-dos, 36+4.8.3-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9, nginx-agent, 2.45.2~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine, nginx, 1.29.5-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine, nginx-module-njs, 1.29.5.0.9.5-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine, nginx-module-otel, 1.29.5.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine, nginx-agent, 3.7.1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine, nginx, 1.29.5-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine, nginx-module-njs, 1.29.5.0.9.5-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine, nginx-module-otel, 1.29.5.0.1.2-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine, nginx-agent, 3.7.1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine, nginx-plus, 36-r3, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine, nginx-plus-module-njs, 36.0.9.5-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine, nginx-plus-module-otel, 36.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine, nginx-plus-module-fips-check, 36.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine, nginx-agent, 3.7.1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine, nginx-plus, 36-r3, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine, nginx-plus-module-njs, 36.0.9.5-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine, nginx-plus-module-otel, 36.0.1.2-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine, nginx-plus-module-fips-check, 36.0.1-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine, nginx-agent, 3.7.1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine-fips, nginx-plus, 36-r3, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine-fips, nginx-plus-module-njs, 36.0.9.5-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine-fips, nginx-plus-module-otel, 36.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine-fips, nginx-plus-module-fips-check, 36.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine-fips, nginx-agent, 3.7.1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine-fips, nginx-plus, 36-r3, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine-fips, nginx-plus-module-njs, 36.0.9.5-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine-fips, nginx-plus-module-otel, 36.0.1.2-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine-fips, nginx-plus-module-fips-check, 36.0.1-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine-fips, nginx-agent, 3.7.1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine-fips, nginx-plus, 36-r3, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine-fips, nginx-plus-module-njs, 36.0.9.5-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine-fips, nginx-plus-module-otel, 36.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine-fips, nginx-plus-module-fips-check, 36.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine-fips, nginx-agent, 2.45.2, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine-fips, nginx-plus-module-appprotect, 36.5.575.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine-fips, app-protect, 36.5.575.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine-fips, app-protect-attack-signatures, 2026.02.18-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine-fips, app-protect-threat-campaigns, 2026.02.16-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine-fips, nginx-plus, 36-r3, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine-fips, nginx-plus-module-njs, 36.0.9.5-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine-fips, nginx-plus-module-otel, 36.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine-fips, nginx-plus-module-fips-check, 36.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine-fips, nginx-agent, 2.45.2, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine-fips, nginx-plus-module-appprotect, 36.5.575.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine-fips, app-protect-module-plus, 36.5.575.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-alpine-fips, app-protect-plugin, 6.25.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx, 1.29.5-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-module-njs, 1.29.5+0.9.5-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-module-otel, 1.29.5+0.1.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-agent, 3.7.1-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx, 1.29.5-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-module-njs, 1.29.5+0.9.5-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-module-otel, 1.29.5+0.1.2-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-agent, 3.7.1-1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus, 36-3.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus-module-njs, 36+0.9.5-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus-module-otel, 36+0.1.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus-module-fips-check, 36+0.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-agent, 3.7.1-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus, 36-3.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus-module-njs, 36+0.9.5-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus-module-otel, 36+0.1.2-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus-module-fips-check, 36+0.1-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-agent, 3.7.1-1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus, 36-3.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus-module-njs, 36+0.9.5-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus-module-otel, 36+0.1.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus-module-fips-check, 36+0.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-agent, 2.45.2-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus-module-appprotect, 36+5.575.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, app-protect, 36+5.575.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, app-protect-attack-signatures, 2026.02.18-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, app-protect-threat-campaigns, 2026.02.16-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus, 36-3.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus-module-njs, 36+0.9.5-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus-module-otel, 36+0.1.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus-module-fips-check, 36+0.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-agent, 2.45.2-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus-module-appprotect, 36+5.575.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, app-protect-module-plus, 36+5.575.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, app-protect-plugin, 6.25.0-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi8, nginx-plus, 36-3.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi8, nginx-plus-module-njs, 36+0.9.5-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi8, nginx-plus-module-otel, 36+0.1.2-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi8, nginx-plus-module-fips-check, 36+0.1-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi8, nginx-agent, 2.45.2-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi8, nginx-plus-module-appprotect, 36+5.575.2-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi8, app-protect, 36+5.575.2-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi8, app-protect-attack-signatures, 2026.02.18-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi8, app-protect-threat-campaigns, 2026.02.16-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi8, nginx-plus, 36-3.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi8, nginx-plus-module-njs, 36+0.9.5-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi8, nginx-plus-module-otel, 36+0.1.2-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi8, nginx-plus-module-fips-check, 36+0.1-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi8, nginx-agent, 2.45.2-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi8, nginx-plus-module-appprotect, 36+5.575.2-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi8, app-protect-module-plus, 36+5.575.2-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi8, app-protect-plugin, 6.25.0-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus, 36-3.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus-module-njs, 36+0.9.5-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus-module-otel, 36+0.1.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus-module-fips-check, 36+0.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus-module-appprotectdos, 36+4.8.3-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, app-protect-dos, 36+4.8.3-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus, 36-3.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus-module-njs, 36+0.9.5-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus-module-otel, 36+0.1.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus-module-fips-check, 36+0.1-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus-module-appprotect, 36+5.575.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-plus-module-appprotectdos, 36+4.8.3-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, nginx-agent, 2.45.2-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, app-protect, 36+5.575.2-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, app-protect-attack-signatures, 2026.02.18-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, app-protect-threat-campaigns, 2026.02.16-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-25dde09073973d2bda9b9e54caf1dbc9-ubi, app-protect-dos, 36+4.8.3-1.el9.ngx, x86_64 |
Proposed changes
The pytest image was hardcoded to intel based architectures. This change allows the makefile to dynamically determine the architecture and pass
ARCHbuild arg to docker.Checklist
Before creating a PR, run through this checklist and mark each as complete.