Only build the go binary if the source files have changed#9266
Only build the go binary if the source files have changed#9266
Conversation
There was a problem hiding this comment.
Pull request overview
Updates the root Makefile to speed up local builds by turning the ingress controller binary into a file target so make can skip go build when inputs haven’t changed.
Changes:
- Introduce
BINARY_NAMEand use it for build/debug/clean output naming. - Add
GO_SRCSand make$(BINARY_NAME)depend on it to enable incremental rebuilds. - Update
buildto invoke$(MAKE) $(BINARY_NAME)forTARGET=local.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Paul Abel <128620221+pdabelf5@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Paul Abel <128620221+pdabelf5@users.noreply.github.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #9266 +/- ##
==========================================
+ Coverage 53.95% 54.37% +0.41%
==========================================
Files 91 97 +6
Lines 18692 19324 +632
==========================================
+ Hits 10086 10507 +421
- Misses 8075 8236 +161
- Partials 531 581 +50 ☔ 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-fb95e7984526ed67081c06c0f17ec56c, nginx, 1.29.5-1~trixie, amd64gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, nginx-agent, 3.7.2~trixie, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-fb95e7984526ed67081c06c0f17ec56c, nginx, 1.29.5-1~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, nginx-agent, 3.7.2~trixie, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c, nginx-plus, 36-3~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, nginx-agent, 3.7.2~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c, nginx-plus, 36-3~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, nginx-agent, 3.7.2~bookworm, arm64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c, nginx-plus, 36-3~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, app-protect-attack-signatures, 2026.02.25-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c, app-protect-threat-campaigns, 2026.02.22-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c, nginx-agent, 2.45.2~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c, nginx-plus, 36-3~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, nginx-agent, 2.45.2~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c, nginx-plus, 36-3~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, nginx-plus, 36-3~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, app-protect-attack-signatures, 2026.02.25-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c, app-protect-threat-campaigns, 2026.02.22-1~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, 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-fb95e7984526ed67081c06c0f17ec56c, nginx-agent, 2.45.2~bookworm, amd64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-fb95e7984526ed67081c06c0f17ec56c-alpine, nginx, 1.29.5-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-alpine, nginx-agent, 3.7.2, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-fb95e7984526ed67081c06c0f17ec56c-alpine, nginx, 1.29.5-r1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-alpine, nginx-agent, 3.7.2, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c-alpine, nginx-plus, 36-r3, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-alpine, nginx-agent, 3.7.2, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c-alpine, nginx-plus, 36-r3, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-alpine, nginx-agent, 3.7.2, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c-alpine-fips, nginx-plus, 36-r3, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-alpine-fips, nginx-agent, 3.7.2, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c-alpine-fips, nginx-plus, 36-r3, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-alpine-fips, nginx-agent, 3.7.2, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c-alpine-fips, nginx-plus, 36-r3, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-alpine-fips, app-protect-attack-signatures, 2026.02.25-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c-alpine-fips, app-protect-threat-campaigns, 2026.02.22-r1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-ubi, nginx, 1.29.5-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-ubi, nginx-agent, 3.7.2-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-fb95e7984526ed67081c06c0f17ec56c-ubi, nginx, 1.29.5-1.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-ingress:t-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-ubi, nginx-agent, 3.7.2-1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c-ubi, nginx-plus, 36-3.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-ubi, nginx-agent, 3.7.2-1, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c-ubi, nginx-plus, 36-3.el9.ngx, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-ubi, nginx-agent, 3.7.2-1, aarch64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-ubi, app-protect-attack-signatures, 2026.02.25-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c-ubi, app-protect-threat-campaigns, 2026.02.22-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-ubi8, app-protect-attack-signatures, 2026.02.25-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c-ubi8, app-protect-threat-campaigns, 2026.02.22-1.el8.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-nap-v5/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-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-fb95e7984526ed67081c06c0f17ec56c-ubi, app-protect-attack-signatures, 2026.02.25-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c-ubi, app-protect-threat-campaigns, 2026.02.22-1.el9.ngx, x86_64 gcr.io/f5-gcs-7899-ptg-ingrss-ctlr/dev/nginx-ic-dos-nap/nginx-plus-ingress:t-fb95e7984526ed67081c06c0f17ec56c-ubi, app-protect-dos, 36+4.8.3-1.el9.ngx, x86_64 |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Makefile
Outdated
| else ifeq ($(strip $(TARGET)),debug) | ||
| @go version || (code=$$?; printf "\033[0;31mError\033[0m: unable to build locally, try using the parameter TARGET=container or TARGET=download\n"; exit $$code) | ||
| CGO_ENABLED=0 GOOS=$(strip $(GOOS)) GOARCH=$(strip $(ARCH)) go build -ldflags "$(DEBUG_GO_LINKER_FLAGS)" -gcflags "$(DEBUG_GO_GC_FLAGS)" -o nginx-ingress github.com/nginx/kubernetes-ingress/cmd/nginx-ingress | ||
| CGO_ENABLED=0 GOOS=$(strip $(GOOS)) GOARCH=$(strip $(ARCH)) go build -ldflags "$(DEBUG_GO_LINKER_FLAGS)" -gcflags "$(DEBUG_GO_GC_FLAGS)" -o $(BINARY_NAME) github.com/nginx/kubernetes-ingress/cmd/nginx-ingress |
There was a problem hiding this comment.
The debug build target bypasses the new incremental build logic. When TARGET=debug, this code directly builds the binary without checking if source files have changed, which is inconsistent with the regular build flow. Consider changing this to use the $(BINARY_NAME) target as well, but with different flags. However, this would require creating a separate target or conditionally setting the build flags.
Makefile
Outdated
| go generate internal/telemetry/exporter.go | ||
| gofumpt -w internal/telemetry/*_generated.go | ||
|
|
||
| $(BINARY_NAME): $(GO_SRCS) ## Build Ingress Controller binary (local) |
There was a problem hiding this comment.
The $(BINARY_NAME) target doesn't depend on variables that affect the build output. If GO_LINKER_FLAGS changes (e.g., VERSION or TELEMETRY_ENDPOINT), the binary won't be rebuilt because these variables aren't in the dependency list. This means the binary could contain stale version information. Consider if this optimization is worth the risk of stale metadata in the binary.
| $(BINARY_NAME): $(GO_SRCS) ## Build Ingress Controller binary (local) | |
| .ldflags.stamp: | |
| @printf '%s\n' "$(GO_LINKER_FLAGS)" | cmp -s - .ldflags.stamp 2>/dev/null || printf '%s\n' "$(GO_LINKER_FLAGS)" > .ldflags.stamp | |
| $(BINARY_NAME): $(GO_SRCS) .ldflags.stamp ## Build Ingress Controller binary (local) |
Proposed changes
To speed up compilation, only perform a go build if the source files are newer than the binary.
Checklist
Before creating a PR, run through this checklist and mark each as complete.