[CI] Pipeline optimisations - #10267
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #10267 +/- ##
=======================================
Coverage 57.51% 57.51%
=======================================
Files 103 103
Lines 22857 22857
=======================================
Hits 13147 13147
Misses 8913 8913
Partials 797 797 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Package ReportDetailsgcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx, 1.31.3-1~trixie, amd64gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-module-njs, 1.31.3+1.0.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-module-otel, 1.31.3+0.1.2-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-agent, 3.11.3~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx, 1.31.3-1~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-module-njs, 1.31.3+1.0.0-1~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-module-otel, 1.31.3+0.1.2-1~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-agent, 3.11.3~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus, 37.0.4-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus-module-njs, 37.0+1.0.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus-module-otel, 37.0+0.1.2-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus-module-fips-check, 37.0+0.1-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-agent, 3.11.3~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus, 37.0.4-1~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus-module-njs, 37.0+1.0.0-1~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus-module-otel, 37.0+0.1.2-1~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus-module-fips-check, 37.0+0.1-1~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-agent, 3.11.3~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus, 37.0.4-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus-module-njs, 37.0+1.0.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus-module-otel, 37.0+0.1.2-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus-module-fips-check, 37.0+0.1-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus-module-appprotect, 37.0+5.690.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, app-protect, 37.0+5.690.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, app-protect-attack-signatures, 2026.08.07-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, app-protect-threat-campaigns, 2026.08.06-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, app-protect-ip-intelligence, 1.59.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-agent, 2.46.7~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus, 37.0.4-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus-module-njs, 37.0+1.0.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus-module-otel, 37.0+0.1.2-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus-module-fips-check, 37.0+0.1-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus-module-appprotect, 37.0+5.690.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, app-protect-module-plus, 37.0+5.690.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, app-protect-plugin, 6.30.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-agent, 2.46.7~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus, 37.0.4-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus-module-njs, 37.0+1.0.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus-module-otel, 37.0+0.1.2-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus-module-fips-check, 37.0+0.1-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus-module-appprotectdos, 37+4.9.6-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, app-protect-dos, 37+4.9.6-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-agent, 2.46.7~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus, 37.0.4-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus-module-njs, 37.0+1.0.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus-module-otel, 37.0+0.1.2-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus-module-fips-check, 37.0+0.1-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus-module-appprotect, 37.0+5.690.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, app-protect, 37.0+5.690.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, app-protect-ip-intelligence, 1.59.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, app-protect-attack-signatures, 2026.08.07-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, app-protect-threat-campaigns, 2026.08.06-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-plus-module-appprotectdos, 37+4.9.6-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, app-protect-dos, 37+4.9.6-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4, nginx-agent, 2.46.7~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine, nginx, 1.31.3-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine, nginx-module-njs, 1.31.3.1.0.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine, nginx-module-otel, 1.31.3.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine, nginx-agent, 3.11.3, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine, nginx, 1.31.3-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine, nginx-module-njs, 1.31.3.1.0.0-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine, nginx-module-otel, 1.31.3.0.1.2-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine, nginx-agent, 3.11.3, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine, nginx-plus, 37.0.4-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine, nginx-plus-module-njs, 37.0.1.0.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine, nginx-plus-module-otel, 37.0.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine, nginx-plus-module-fips-check, 37.0.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine, nginx-agent, 3.11.3, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine, nginx-plus, 37.0.4-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine, nginx-plus-module-njs, 37.0.1.0.0-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine, nginx-plus-module-otel, 37.0.0.1.2-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine, nginx-plus-module-fips-check, 37.0.0.1-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine, nginx-agent, 3.11.3, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, nginx-plus, 37.0.4-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, nginx-plus-module-njs, 37.0.1.0.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, nginx-plus-module-otel, 37.0.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, nginx-plus-module-fips-check, 37.0.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, nginx-agent, 3.11.3, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, nginx-plus, 37.0.4-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, nginx-plus-module-njs, 37.0.1.0.0-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, nginx-plus-module-otel, 37.0.0.1.2-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, nginx-plus-module-fips-check, 37.0.0.1-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, nginx-agent, 3.11.3, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, nginx-plus, 37.0.4-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, nginx-plus-module-njs, 37.0.1.0.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, nginx-plus-module-otel, 37.0.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, nginx-plus-module-fips-check, 37.0.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, nginx-agent, 2.46.7, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, app-protect-ip-intelligence, 1.59.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, nginx-plus-module-appprotect, 37.0.5.690.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, app-protect, 37.0.5.690.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, app-protect-attack-signatures, 2026.08.07-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, app-protect-threat-campaigns, 2026.08.06-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, nginx-plus, 37.0.4-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, nginx-plus-module-njs, 37.0.1.0.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, nginx-plus-module-otel, 37.0.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, nginx-plus-module-fips-check, 37.0.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, nginx-agent, 2.46.7, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, nginx-plus-module-appprotect, 37.0.5.690.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, app-protect-module-plus, 37.0.5.690.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips, app-protect-plugin, 6.30.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx, 1.31.3-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-module-njs, 1.31.3+1.0.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-module-otel, 1.31.3+0.1.2-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-agent, 3.11.3-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx, 1.31.3-1.el10.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-module-njs, 1.31.3+1.0.0-1.el10.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-module-otel, 1.31.3+0.1.2-1.el10.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-agent, 3.11.3-1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus, 37.0.4-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus-module-njs, 37.0+1.0.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus-module-otel, 37.0+0.1.2-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus-module-fips-check, 37.0+0.1-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-agent, 3.11.3-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus, 37.0.4-1.el10.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus-module-njs, 37.0+1.0.0-1.el10.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus-module-otel, 37.0+0.1.2-1.el10.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus-module-fips-check, 37.0+0.1-1.el10.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-agent, 3.11.3-1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus, 37.0.4-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus-module-njs, 37.0+1.0.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus-module-otel, 37.0+0.1.2-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus-module-fips-check, 37.0+0.1-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-agent, 2.46.7-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus-module-appprotect, 37.0+5.690.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, app-protect, 37.0+5.690.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, app-protect-ip-intelligence, 1.59.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, app-protect-attack-signatures, 2026.08.07-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, app-protect-threat-campaigns, 2026.08.06-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus, 37.0.4-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus-module-njs, 37.0+1.0.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus-module-otel, 37.0+0.1.2-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus-module-fips-check, 37.0+0.1-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-agent, 2.46.7-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus-module-appprotect, 37.0+5.690.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, app-protect-module-plus, 37.0+5.690.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, app-protect-plugin, 6.30.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus, 37.0.4-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus-module-njs, 37.0+1.0.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus-module-otel, 37.0+0.1.2-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus-module-fips-check, 37.0+0.1-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus-module-appprotectdos, 37+4.9.6-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, app-protect-dos, 37+4.9.6-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-agent, 2.46.7-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus, 37.0.4-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus-module-njs, 37.0+1.0.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus-module-otel, 37.0+0.1.2-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus-module-fips-check, 37.0+0.1-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus-module-appprotect, 37.0+5.690.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-plus-module-appprotectdos, 37+4.9.6-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, nginx-agent, 2.46.7-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, app-protect, 37.0+5.690.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, app-protect-ip-intelligence, 1.59.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, app-protect-attack-signatures, 2026.08.07-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, app-protect-threat-campaigns, 2026.08.06-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi, app-protect-dos, 37+4.9.6-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, nginx-plus, 37.0.4-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, nginx-plus-module-njs, 37.0+1.0.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, nginx-plus-module-otel, 37.0+0.1.2-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, nginx-plus-module-fips-check, 37.0+0.1-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, nginx-plus-module-appprotect, 37.0+5.690.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, app-protect, 37.0+5.690.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, app-protect-attack-signatures, 2026.08.07-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, app-protect-threat-campaigns, 2026.08.06-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, app-protect-ip-intelligence, 1.59.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, nginx-agent, 3.11.3~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, nginx-plus, 37.0.4-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, nginx-plus-module-njs, 37.0+1.0.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, nginx-plus-module-otel, 37.0+0.1.2-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, nginx-plus-module-fips-check, 37.0+0.1-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, nginx-plus-module-appprotect, 37.0+5.690.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, app-protect, 37.0+5.690.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, app-protect-attack-signatures, 2026.08.07-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, app-protect-threat-campaigns, 2026.08.06-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, app-protect-ip-intelligence, 1.59.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, nginx-agent, 3.11.3-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips-agent, nginx-plus, 37.0.4-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips-agent, nginx-plus-module-njs, 37.0.1.0.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips-agent, nginx-plus-module-otel, 37.0.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips-agent, nginx-plus-module-fips-check, 37.0.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips-agent, nginx-plus-module-appprotect, 37.0.5.690.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips-agent, app-protect, 37.0.5.690.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips-agent, app-protect-attack-signatures, 2026.08.07-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips-agent, app-protect-threat-campaigns, 2026.08.06-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips-agent, app-protect-ip-intelligence, 1.59.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips-agent, nginx-agent, 3.11.3, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, nginx-plus, 37.0.4-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, nginx-plus-module-njs, 37.0+1.0.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, nginx-plus-module-otel, 37.0+0.1.2-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, nginx-plus-module-fips-check, 37.0+0.1-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, nginx-plus-module-appprotect, 37.0+5.690.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, app-protect-module-plus, 37.0+5.690.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, app-protect-plugin, 6.30.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, nginx-agent, 3.11.3~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, nginx-plus, 37.0.4-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, nginx-plus-module-njs, 37.0+1.0.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, nginx-plus-module-otel, 37.0+0.1.2-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, nginx-plus-module-fips-check, 37.0+0.1-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, nginx-plus-module-appprotect, 37.0+5.690.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, app-protect-module-plus, 37.0+5.690.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, app-protect-plugin, 6.30.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, nginx-agent, 3.11.3-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips-agent, nginx-plus, 37.0.4-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips-agent, nginx-plus-module-njs, 37.0.1.0.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips-agent, nginx-plus-module-otel, 37.0.0.1.2-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips-agent, nginx-plus-module-fips-check, 37.0.0.1-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips-agent, nginx-plus-module-appprotect, 37.0.5.690.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips-agent, app-protect-module-plus, 37.0.5.690.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips-agent, app-protect-plugin, 6.30.0-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-alpine-fips-agent, nginx-agent, 3.11.3, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, nginx-plus, 37.0.4-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, nginx-plus-module-njs, 37.0+1.0.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, nginx-plus-module-otel, 37.0+0.1.2-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, nginx-plus-module-fips-check, 37.0+0.1-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, nginx-plus-module-appprotect, 37.0+5.690.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, nginx-plus-module-appprotectdos, 37+4.9.6-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, nginx-agent, 3.11.3~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, app-protect, 37.0+5.690.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, app-protect-ip-intelligence, 1.59.0-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, app-protect-attack-signatures, 2026.08.07-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, app-protect-threat-campaigns, 2026.08.06-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-agent, app-protect-dos, 37+4.9.6-1~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, nginx-plus, 37.0.4-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, nginx-plus-module-njs, 37.0+1.0.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, nginx-plus-module-otel, 37.0+0.1.2-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, nginx-plus-module-fips-check, 37.0+0.1-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, nginx-plus-module-appprotect, 37.0+5.690.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, nginx-plus-module-appprotectdos, 37+4.9.6-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, nginx-agent, 3.11.3-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, app-protect, 37.0+5.690.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, app-protect-ip-intelligence, 1.59.0-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, app-protect-attack-signatures, 2026.08.07-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, app-protect-threat-campaigns, 2026.08.06-1.el10.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-f61464bdc44257da4a62cc6a154e79a4-ubi-agent, app-protect-dos, 37+4.9.6-1.el10.ngx, x86_64 |
There was a problem hiding this comment.
Pull request overview
This PR optimizes the GitHub Actions CI pipeline by refining when “docs-only” changes skip heavier CI work and by tightening the logic that decides when unit tests should run, especially in PR and merge queue contexts.
Changes:
- Updates
docs_onlydetection to compare against the PR/merge base and expands the set of “docs-only” paths to include repo metadata files (e.g.,LICENSE,CODEOWNERS, templates). - Fixes
run_testsskip logic to use the “stable image exists” check and restructures conditional execution to job-level gating for unit tests. - Improves CI result aggregation by including additional job results in the final summary gate.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
.github/workflows/ci.yml |
Adjusts docs-only evaluation, test/build gating, and final-results dependency/result checks. |
.github/scripts/variables.sh |
Enhances docs-only diff range logic and expands the whitelist of doc-only file patterns. |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.
Comments suppressed due to low confidence (6)
.github/workflows/ci.yml:117
- This Key Vault lookup step will fail on fork PRs because it requires Azure credentials from repo secrets. Gate it on
steps.vars.outputs.forked_workflow == 'false'(and keep downstream steps consistent) so fork CI doesn't hard-fail.
- name: Setup secrets
id: secrets
run: |
.github/workflows/ci.yml:129
google-github-actions/authdepends on the Key Vault outputs and should be skipped on fork PRs (no secrets/OIDC context). Without gating, the workflow will fail before it can decide whether to build/run tests.
- name: Authenticate to Google Cloud
id: auth
uses: google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093 # v3.0.0
with:
.github/workflows/ci.yml:136
- Logging into the private GCR registry will fail on forks because the preceding auth step can't run. Add the same
forked_workflowgate here to prevent thechecksjob from failing on external contributions.
- name: Login to GCR
uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4.2.0
with:
.github/workflows/ci.yml:143
- This
docker pullagainst a private registry will fail on forks (no registry auth). Skipping it whenforked_workflow == 'true'is safe because the fork path already forcesdocker_build=truewhen non-doc changes are present.
- name: Check if stable image exists
id: stable_exists
run: |
.github/workflows/ci.yml:267
unit-testsruns for fork PRs (which is good), butazure/loginwill fail there because repo secrets aren't available. Gate Azure login (and the following Key Vault / Codecov upload steps) onneeds.checks.outputs.forked_workflow == 'false'so forks can still run tests without coverage upload.
- name: Azure login
uses: azure/login@532459ea530d8321f2fb9bb10d1e0bcf23869a43 # v3.0.0
with:
.github/workflows/ci.yml:274
- This Key Vault access for the Codecov token will fail on fork PRs. Add a fork gate; otherwise the whole
unit-testsjob fails instead of just skipping coverage upload for forks.
- name: Setup secrets
id: secrets
run: |
javorszky
left a comment
There was a problem hiding this comment.
One change for request, and two question 🙂
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Sean Breen <101327931+sean-breen@users.noreply.github.com>
| local range | ||
| if [ -n "${GITHUB_BASE_REF:-}" ]; then | ||
| # PR or merge_group event: compare against the target branch. | ||
| git fetch --quiet --depth=50 origin "${GITHUB_BASE_REF}" 2>/dev/null || true |
There was a problem hiding this comment.
any specific reason for 50 commit depth?
There was a problem hiding this comment.
could we rely on the the checkout action using a fetch depth of 0 here?
|
|
||
| # Emits every CI decision flag as key=value lines for $GITHUB_OUTPUT. | ||
| get_ci_flags() { | ||
| echo "run_tests=$(get_run_tests)" |
| github.repository == 'nginx/kubernetes-ingress' && ( | ||
| !cancelled() ) | ||
| runs-on: ubuntu-24.04 | ||
| needs: [checks, setup-matrix, tag-stable, build-artifacts, smoke-tests-oss, smoke-tests-plus, smoke-tests-nap, package-tests, helm-tests, staticcheck, govulncheck, unit-tests, verify-codegen] |
There was a problem hiding this comment.
should we include tag-target?
| password ${{ secrets.ARTIFACTORY_TOKEN }} | ||
| EOF | ||
| chmod 600 $HOME/.netrc | ||
| if: ${{ inputs.force || inputs.authenticated == 'true' }} |
There was a problem hiding this comment.
Why are we removing the check for authenticated users? It will try to setup the go proxy credential for forked workflows which will never work
There was a problem hiding this comment.
Moved the check to the top of the step at line 88
| # Forks cannot access the authenticated registry, so they build artifacts but | ||
| # skip the e2e workflow. |
There was a problem hiding this comment.
This statement is incorrect, forked workflows do run e2e tests, they just need to build the image under test in that job. Unless we are changing this behaviour?
|
Just getting back to this now, addressing feedback! |
|
|
||
| ### Centralized CI Decision Logic | ||
|
|
||
| CI execution flags are computed during the `checks` job via [`.github/scripts/variables.sh`](file:///Users/s.breen/work/src/github.com/nginx/nic/.github/scripts/variables.sh) and consumed by downstream jobs: |
|
|
||
| | Feature | The Legacy Approach | The New Architecture | | ||
| | --- | --- | --- | | ||
| | **Logic Location** | Scattered inline bash scripts & duplicated `if:` expressions inside `.github/workflows/ci.yml` | Centralized in pure bash functions inside [`.github/scripts/variables.sh`](file:///Users/s.breen/work/src/github.com/nginx/nic/.github/scripts/variables.sh) | |
There was a problem hiding this comment.
Replace with repo links in this table
| - `tag_stable`: Gates image retagging in GCR (`false` for forks). | ||
| - `promote`: Gates image promotion on forced release branch runs. | ||
|
|
||
| Detailed architecture and decision diagrams are documented in [docs/developer/CI-logic.md](file:///Users/s.breen/work/src/github.com/nginx/nic/docs/developer/CI-logic.md). |
There was a problem hiding this comment.
Whoops! Updated 👍
Description
This PR optimizes and simplifies the GitHub Actions CI pipeline by centralising decision logic, refining docs-only change detection, improving forked workflow test coverage, and introducing local developer preview tooling.
Key Changes
Centralised CI Decision Logic (
.github/scripts/variables.sh):if:expressions across.github/workflows/ci.ymlwith central, testable bash functions.checksjob (run_tests,docker_build,run_unit_tests,run_e2e,tag_stable,promote).Docs-Only Fast Path Improvements:
LICENSE,CODEOWNERS, issue/PR templates,CHANGELOG,site/,docs/,examples/).--depth=50shallow fetch limit inget_docs_only()so PR branches older than 50 commits evaluate diffs againstGITHUB_BASE_REFaccurately.Forked Workflow Fixes:
if: ${{ inputs.authenticated }}to theSetup netrcstep inbuild-artifacts.ymlso unauthenticated fork runs skip Artifactory proxy setup.run_e2e=true) against locally built images in the runner, while strictly keeping GCR image retagging disabled (tag_stable=false).Required Status Gate (
final-results):tag-targetto theneeds:dependency list offinal-results.true, protecting against silent false-greens from driftedif:conditions.Developer Tooling & Documentation:
./.github/scripts/ci-preview.sh: Dry-run CLI helper to preview CI flags and job execution for any branch diff or simulated scenario../.github/scripts/variables_test.sh: Unit test suite covering 54 matrix state combinations invariables.sh.docs/developer/CI-logic.md..agents/skills/nic-ci-pipelines/SKILL.md.Testing & Verification
bash .github/scripts/variables_test.sh(54/54 tests passed).bash .github/scripts/validate-workflow-gating.sh(all public workflows strictly gated).bash .github/scripts/ci-preview.shacross standard, forked, docs-only, and force scenarios.actionlint .github/workflows/*.ymlwith 0 errors.