[ 
https://issues.apache.org/jira/browse/YUNIKORN-3407?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

TingYao Huang updated YUNIKORN-3407:
------------------------------------
    Labels: newbie  (was: newbie pull-request-available)

> [k8shim] Add DEBUG_BUILDS=1 make image target support
> -----------------------------------------------------
>
>                 Key: YUNIKORN-3407
>                 URL: https://issues.apache.org/jira/browse/YUNIKORN-3407
>             Project: Apache YuniKorn
>          Issue Type: Improvement
>          Components: build, shim - kubernetes
>            Reporter: KAI-JAY TU
>            Assignee: KAI-JAY TU
>            Priority: Minor
>              Labels: newbie
>
> Follow-up from YUNIKORN-3266 (yunikorn-site PR #569, review comment
> https://github.com/apache/yunikorn-site/pull/569#discussion_r3802886844).
> Today, building a debug image of the scheduler requires a manual
> `go build -gcflags="all=-N -l"` plus a hand-written multi-stage
> Dockerfile (as newly documented in yunikorn-site
> docs/developer_guide/env_setup.md). This duplicates logic already
> handled by `make image` and is easy to get wrong.
> Proposal (per wilfred-s on PR #569):
> 1. Add a `DEBUG_BUILDS` flag to the k8shim Makefile, mirroring the
>    existing `REPRODUCIBLE_BUILDS=1 make image` pattern.
> 2. When `DEBUG_BUILDS=1`:
>    - Set `GCFLAGS='-gcflags="all=-N -l"'` and inject it into the
>      `go build` command (e.g. right after the `-a` option).
>    - Leave `GCFLAGS` empty when the flag is not set, so production
>      builds are unaffected.
>    - Override `VERSION` from `latest` to `debug` so debug images do
>      not overwrite production tags.
> 3. Compose with the existing `REGISTRY` shell variable, so users can
>    run:
>      REGISTRY=reg.local.host DEBUG_BUILDS=1 make image
> 4. Optionally include Delve (`dlv`) in the resulting image, or leave
>    that to a separate Dockerfile stage -- to be decided in review.
> Once this lands, update yunikorn-site
> docs/developer_guide/env_setup.md ("Debug scheduler in a remote
> cluster" section) to reference the new Make target instead of the
> manual `go build` + custom Dockerfile flow currently documented.
> Acceptance criteria:
> - `DEBUG_BUILDS=1 make image` produces an image built with
>   `-gcflags="all=-N -l"` and tagged `:debug` (or equivalent).
> - `make image` (without the flag) is byte-identical to today.
> - `REPRODUCIBLE_BUILDS=1 make image` still works unchanged.
> - README / Makefile help mentions the new flag.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to