Skip to content

build(make): harden target graph#15963

Draft
bartsmykla wants to merge 8 commits intokumahq:masterfrom
bartsmykla:worktree-gnu-make-audit-fixes
Draft

build(make): harden target graph#15963
bartsmykla wants to merge 8 commits intokumahq:masterfrom
bartsmykla:worktree-gnu-make-audit-fixes

Conversation

@bartsmykla
Copy link
Copy Markdown
Contributor

@bartsmykla bartsmykla commented Mar 22, 2026

Warning

WIP

Motivation

Fix the GNU make issues by making prerequisite edges explicit and by removing parse-time side effects from dev targets

Implementation information

  • move proto exports, Docker save/load, docs generation, e2e startup, and transparent proxy setup onto explicit prerequisites or file targets
  • preserve legacy target aliases and the legacy shared kubeconfig path on top of tool-specific kubeconfigs
  • normalize the k3d deployment volume path for absolute KUMA_DIR callers and keep existing local workflows working

Move parse-time side effects and hidden build steps into explicit
GNU make prerequisites and file targets.

Keep legacy target aliases and kubeconfig contracts working so
existing local workflows still behave the same.

Normalize the k3d deployment volume path for absolute `KUMA_DIR`
worktree callers.

Signed-off-by: Bart Smykla <bartek@smykla.com>
@github-actions
Copy link
Copy Markdown
Contributor

Reviewer Checklist

🔍 Each of these sections need to be checked by the reviewer of the PR 🔍:
If something doesn't apply please check the box and add a justification if the reason is non obvious.

  • Is the PR title satisfactory? Is this part of a larger feature and should be grouped using > Changelog?
  • PR description is clear and complete. It Links to relevant issue as well as docs and UI issues
  • This will not break child repos: it doesn't hardcode values (.e.g "kumahq" as an image registry)
  • IPv6 is taken into account (.e.g: no string concatenation of host port)
  • Tests (Unit test, E2E tests, manual test on universal and k8s)
    • Don't forget ci/ labels to run additional/fewer tests
  • Does this contain a change that needs to be notified to users? In this case, UPGRADE.md should be updated.
  • Does it need to be backported according to the backporting policy? (this GH action will add "backport" label based on these file globs, if you want to prevent it from adding the "backport" label use no-backport-autolabel label)

Signed-off-by: Bart Smykla <bartek@smykla.com>
Signed-off-by: Bart Smykla <bartek@smykla.com>
Signed-off-by: Bart Smykla <bartek@smykla.com>
Signed-off-by: Bart Smykla <bartek@smykla.com>
@lahabana
Copy link
Copy Markdown
Contributor

I'm a little torn on that one. Do we have evidence of something not working in the makefile?
I feel like these have been like this for years so I'm wary of changing this.

The PR description mention "GNU make issues", where did we encounter these? Are they causing flakes in CI?

Signed-off-by: Bart Smykla <bartek@smykla.com>
Signed-off-by: Bart Smykla <bartek@smykla.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants