This is an automated email from the ASF dual-hosted git repository.

wilfred-s pushed a commit to branch branch-1.9
in repository https://gitbox.apache.org/repos/asf/yunikorn-k8shim.git

commit 76c44eb106c4b11d84e97ab4974cacb1bf026b97
Author: Wilfred Spiegelenburg <[email protected]>
AuthorDate: Fri Jun 19 11:43:57 2026 +1000

    [YUNIKORN-3194] Update PR template to ask about AI contribution (#1042)
    
    Update PR template:
    * ask about AI contribution
    * Update Jira area
    * Check for testing performed (new make target to simplify task)
    
    Cleanup of Makefile
    
    Closes: #1042
    
    Signed-off-by: Wilfred Spiegelenburg <[email protected]>
    (cherry picked from commit e97f30f0f3b48ffe28591b861630246572da3055)
---
 .github/PULL_REQUEST_TEMPLATE | 51 +++++++++++++++++++++++---------------
 Makefile                      | 57 +++++++++++++------------------------------
 2 files changed, 48 insertions(+), 60 deletions(-)

diff --git a/.github/PULL_REQUEST_TEMPLATE b/.github/PULL_REQUEST_TEMPLATE
index 0d56d005..6d7a63cc 100644
--- a/.github/PULL_REQUEST_TEMPLATE
+++ b/.github/PULL_REQUEST_TEMPLATE
@@ -1,28 +1,39 @@
-### What is this PR for?
-A few sentences describing the overall goals of the pull request's commits.
-First time? Check out the contributing guide - 
http://yunikorn.apache.org/community/how_to_contribute   
+### Description
+Short description of this pull request, can be as simple as the commit message 
used.
+First time contributing? Check out the contributing guide: 
https://yunikorn.apache.org/community/how_to_contribute
 
 
-### What type of PR is it?
-* [ ] - Bug Fix
-* [ ] - Improvement
-* [ ] - Feature
-* [ ] - Documentation
-* [ ] - Hot Fix
-* [ ] - Refactoring
+### Type of change
+Please delete options that are not relevant.
 
-### Todos
-* [ ] - Task
+- [ ] Bug Fix
+- [ ] Improvement
+- [ ] Feature
+- [ ] Refactoring
+- [ ] Documentation
 
-### What is the Jira issue?
-* Open an issue on Jira https://issues.apache.org/jira/browse/YUNIKORN/
-* Put link here, and add [YUNIKORN-*Jira number*] in PR title, eg. 
`[YUNIKORN-2] Gang scheduling interface parameters`
+### Jira issue
+Jira ID : https://issues.apache.org/jira/browse/YUNIKORN-XXXXX
 
-### How should this be tested?
+- [ ] I have created a Jira issue for this pull request.
+- [ ] The Jira ID is part of the title of this pull request.
 
-### Screenshots (if appropriate)
+### AI Tooling
+If an AI tool was used:
+- [ ] The PR includes the phrase "Generated by \<tool>", where \<tool> is the 
name of the AI tool used.
+- [ ] My use of AI contributions follows the ASF legal policy.
+
+Check https://www.apache.org/legal/generative-tooling.html for details.
+
+### How has this been tested?
+- [ ] New unit tests were added to cover new or changed code paths.
+- [ ] `make test_all` was run, and no failures reported.
+- [ ] `make e2e_test` was run, and no failures reported.
+- [ ] new e2e tests have been added.
 
 ### Questions:
-* [ ] - The licenses files need update.
-* [ ] - There is breaking changes for older versions.
-* [ ] - It needs documentation.
+- [ ] The change needs documentation, a pull request for apache/yunikorn-site 
repository will be created.
+- [ ] There is breaking changes for older versions: jira is tagged with 
`release-notes` label.
+- [ ] The licenses files needs to be updated.
+
+### Screenshots or other details
diff --git a/Makefile b/Makefile
index 22c4abff..c809f199 100644
--- a/Makefile
+++ b/Makefile
@@ -15,6 +15,19 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+.PHONY: tools
+# production build targets
+.PHONY: scheduler admission scheduler_instrumented
+.PHONY: image sched_image adm_image sched_image_instrumented webtest_image 
go-license-generate
+# local run targets
+.PHONY: run build build_web_test_server_prod build_web_test_server_dev
+# test targets
+.PHONY: test_all test bench fsm_graph clean distclean arch
+.PHONY: lint check_scripts license-check go-license-check pseudo
+# e2e test targets
+.PHONY: print_kubectl_version print_kind_version print_helm_version
+.PHONY: e2e_test kind-e2e start-cluster stop-cluster
+
 # Go compiler selection
 ifeq ($(GO),)
 GO := go
@@ -160,8 +173,8 @@ export PATH := $(BASE_DIR)/$(SHELLCHECK_PATH):$(PATH)
 GOLANGCI_LINT_VERSION=2.10.1
 GOLANGCI_LINT_PATH=$(TOOLS_DIR)/golangci-lint-v$(GOLANGCI_LINT_VERSION)
 GOLANGCI_LINT_BIN=$(GOLANGCI_LINT_PATH)/golangci-lint
-GOLANGCI_LINT_ARCHIVE=golangci-lint-$(GOLANGCI_LINT_VERSION)-$(OS)-$(EXEC_ARCH).tar.gz
 
GOLANGCI_LINT_ARCHIVEBASE=golangci-lint-$(GOLANGCI_LINT_VERSION)-$(OS)-$(EXEC_ARCH)
+GOLANGCI_LINT_ARCHIVE=$(GOLANGCI_LINT_ARCHIVEBASE).tar.gz
 export PATH := $(BASE_DIR)/$(GOLANGCI_LINT_PATH):$(PATH)
 
 # kubectl
@@ -186,7 +199,7 @@ export PATH := $(BASE_DIR)/$(HELM_PATH):$(PATH)
 
 # spark
 export SPARK_VERSION=3.5.5-java17
-# sometimes the image is not avaiable with $SPARK_VERSION, the minor version 
must match
+# sometimes the image is not available with $SPARK_VERSION, the minor version 
must match
 export SPARK_PYTHON_VERSION=3.4.0
 export SPARK_IMAGE=apache/spark:$(SPARK_VERSION)
 export SPARK_PYTHON_IMAGE=docker.io/apache/spark-py:v$(SPARK_PYTHON_VERSION)
@@ -237,19 +250,17 @@ SCHEDULER_INSTRUMENTED_TAG := 
$(SCHEDULER_TAG)-instrumented
 all:
        $(MAKE) -C $(dir $(BASE_DIR)) build
 
+test_all: lint check_scripts license-check go-license-check pseudo test
+
 # Print tools version
-.PHONY: print_kubectl_version
 print_kubectl_version:
        @echo $(KUBECTL_VERSION)
-.PHONY: print_kind_version
 print_kind_version:
        @echo $(KIND_VERSION)
-.PHONY: print_helm_version
 print_helm_version:
        @echo $(HELM_VERSION)
 
 # Install tools
-.PHONY: tools
 tools: $(SHELLCHECK_BIN) $(GOLANGCI_LINT_BIN) $(KUBECTL_BIN) $(KIND_BIN) 
$(HELM_BIN) $(GO_LICENSES_BIN) $(GINKGO_BIN)
 
 # Install shellcheck
@@ -300,27 +311,18 @@ $(GINKGO_BIN):
        @mkdir -p "$(GINKGO_PATH)"
        @GOBIN="$(BASE_DIR)/$(GINKGO_PATH)" "$(GO)" install 
"github.com/onsi/ginkgo/v2/ginkgo@$(GINKGO_VERSION)"
 
-# Format the code
-.PHONY: format
-format:
-       @echo "running go fmt"
-       @"$(GO)" fmt ./...
-
 # Run lint against the previous commit for PR and branch build
 # In dev setup look at all changes on top of master
-.PHONY: lint
 lint: $(GOLANGCI_LINT_BIN)
        @echo "running golangci-lint"
        @"${GOLANGCI_LINT_BIN}" run
 
 # Check scripts
-.PHONY: check_scripts
 ALLSCRIPTS := $(shell find . -not \( -path ./spark -prune \) -not \( -path 
./tools -prune \) -not \( -path ./build -prune \) -name '*.sh')
 check_scripts: $(SHELLCHECK_BIN)
        @echo "running shellcheck"
        @"$(SHELLCHECK_BIN)" ${ALLSCRIPTS}
 
-.PHONY: license-check
 # This is a bit convoluted but using a recursive grep on linux fails to write 
anything when run
 # from the Makefile. That caused the pull-request license check run from the 
github action to
 # always pass. The syntax for find is slightly different too but that at least 
works in a similar
@@ -340,14 +342,12 @@ endif
        @echo "  all OK"
 
 # Check licenses of go dependencies
-.PHONY: go-license-check
 go-license-check: $(GO_LICENSES_BIN)
        @echo "Checking third-party licenses"
        @"$(GO_LICENSES_BIN)" check ./pkg/... ./test/... --include_tests 
--disallowed_types=forbidden,permissive,reciprocal,restricted,unknown
        @echo "License checks OK"
 
 # Generate third-party dependency licenses
-.PHONY: go-license-generate
 go-license-generate: $(OUTPUT)/third-party-licenses.md
 
 $(OUTPUT)/third-party-licenses.md: $(GO_LICENSES_BIN) go.mod go.sum
@@ -364,7 +364,6 @@ $(OUTPUT)/third-party-licenses.md: $(GO_LICENSES_BIN) 
go.mod go.sum
        @mv "$(OUTPUT)/third-party-licenses.md.tmp" 
"$(OUTPUT)/third-party-licenses.md"
 
 # Check that we use pseudo versions in master
-.PHONY: pseudo
 BRANCH := $(shell git branch --show-current)
 CORE_REF := $(shell "$(GO)" list -m -f '{{ .Version }}' 
github.com/apache/yunikorn-core)
 CORE_MATCH := $(shell expr "${CORE_REF}" : "v0.0.0-")
@@ -382,14 +381,12 @@ pseudo:
        fi
        @echo "  all OK"
 
-.PHONY: run
 run: build
        @echo "running scheduler locally"
        cd ${DEV_BIN_DIR} && \
        KUBECONFIG="$(KUBECONFIG)" ./${SCHEDULER_BINARY}
 
 # Build scheduler binary for dev and test
-.PHONY: build
 build: $(DEV_BIN_DIR)/$(SCHEDULER_BINARY)
 
 $(DEV_BIN_DIR)/$(SCHEDULER_BINARY): go.mod go.sum $(shell find pkg)
@@ -402,7 +399,6 @@ $(DEV_BIN_DIR)/$(SCHEDULER_BINARY): go.mod go.sum $(shell 
find pkg)
        ./pkg/cmd/shim/
 
 # Build scheduler binary in a production ready version
-.PHONY: scheduler
 scheduler: $(RELEASE_BIN_DIR)/$(SCHEDULER_BINARY)
 
 $(RELEASE_BIN_DIR)/$(SCHEDULER_BINARY): go.mod go.sum $(shell find pkg)
@@ -427,7 +423,6 @@ else
        ./pkg/cmd/shim/
 endif
 
-.PHONY: scheduler_instrumented
 scheduler_instrumented: $(COVERAGE_DIR)/$(SCHEDULER_BINARY)
 
 $(COVERAGE_DIR)/$(SCHEDULER_BINARY): go.mod go.sum $(shell find pkg)
@@ -442,7 +437,6 @@ $(COVERAGE_DIR)/$(SCHEDULER_BINARY): go.mod go.sum $(shell 
find pkg)
        ./pkg/cmd/shim/
 
 # Build a scheduler image based on the production ready version
-.PHONY: sched_image
 sched_image: $(OUTPUT)/third-party-licenses.md scheduler docker/scheduler
        @echo "building scheduler docker image"
        @rm -rf "$(DOCKER_DIR)/scheduler"
@@ -470,7 +464,6 @@ sched_image: $(OUTPUT)/third-party-licenses.md scheduler 
docker/scheduler
        --label "org.opencontainers.image.documentation=${DOCS_URL}" \
        ${QUIET}
 
-.PHONY: sched_image_instrumented
 sched_image_instrumented: $(OUTPUT)/third-party-licenses.md 
scheduler_instrumented docker/scheduler
        @echo "building instrumented scheduler docker image"
        @rm -rf "$(DOCKER_DIR)/scheduler"
@@ -499,7 +492,6 @@ sched_image_instrumented: $(OUTPUT)/third-party-licenses.md 
scheduler_instrument
        ${QUIET}
 
 # Build admission controller binary in a production ready version
-.PHONY: admission
 admission: $(RELEASE_BIN_DIR)/$(ADMISSION_CONTROLLER_BINARY)
 
 $(RELEASE_BIN_DIR)/$(ADMISSION_CONTROLLER_BINARY): go.mod go.sum $(shell find 
pkg)
@@ -525,7 +517,6 @@ else
 endif
 
 # Build an admission controller image based on the production ready version
-.PHONY: adm_image
 adm_image: $(OUTPUT)/third-party-licenses.md admission docker/admission
        @echo "building admission controller docker image"
        @rm -rf "$(DOCKER_DIR)/admission"
@@ -554,11 +545,9 @@ adm_image: $(OUTPUT)/third-party-licenses.md admission 
docker/admission
        ${QUIET}
 
 # Build all images based on the production ready version
-.PHONY: image
 image: sched_image adm_image
 
 # Build a web server image ONLY to be used in e2e tests
-.PHONY: webtest_image
 webtest_image: $(OUTPUT)/third-party-licenses.md build_web_test_server_prod 
docker/webtest
        @echo "building web server image for automated e2e tests"
        @rm -rf "$(DOCKER_DIR)/webtest"
@@ -572,7 +561,6 @@ webtest_image: $(OUTPUT)/third-party-licenses.md 
build_web_test_server_prod dock
        --label "yunikorn-e2e-web-image" \
        ${QUIET}
 
-.PHONY: build_web_test_server_dev
 build_web_test_server_dev: $(DEV_BIN_DIR)/$(TEST_SERVER_BINARY)
 
 $(DEV_BIN_DIR)/$(TEST_SERVER_BINARY): go.mod go.sum $(shell find pkg)
@@ -583,7 +571,6 @@ $(DEV_BIN_DIR)/$(TEST_SERVER_BINARY): go.mod go.sum $(shell 
find pkg)
        -ldflags '-buildid= -X main.version=${VERSION} -X main.date=${DATE} -X 
main.goVersion=${GO_VERSION} -X main.arch=${EXEC_ARCH}' \
        ./pkg/cmd/webtest/
 
-.PHONY: build_web_test_server_prod
 build_web_test_server_prod: $(RELEASE_BIN_DIR)/$(TEST_SERVER_BINARY)
 
 $(RELEASE_BIN_DIR)/$(TEST_SERVER_BINARY): go.mod go.sum $(shell find pkg)
@@ -596,7 +583,6 @@ $(RELEASE_BIN_DIR)/$(TEST_SERVER_BINARY): go.mod go.sum 
$(shell find pkg)
        ./pkg/cmd/webtest/
 
 # Run the tests after building
-.PHONY: test
 test: export DEADLOCK_DETECTION_ENABLED = true
 test: export DEADLOCK_TIMEOUT_SECONDS = 10
 test: export DEADLOCK_EXIT = true
@@ -608,14 +594,12 @@ test:
        "$(GO)" vet "$(REPO)"...
 
 # Run benchmarks
-.PHONY: bench
 bench:
        @echo "running benchmarks"
        "$(GO)" clean -testcache
        "$(GO)" test -v -run '^Benchmark' -bench . ./pkg/...
 
 # Generate FSM graphs (dot/png)
-.PHONY: fsm_graph
 fsm_graph:
        @echo "generating FSM graphs"
        "$(GO)" clean -testcache
@@ -623,7 +607,6 @@ fsm_graph:
        scripts/generate-fsm-graph-images.sh
 
 # Remove generated build artifacts
-.PHONY: clean
 clean:
        @echo "cleaning up caches and output"
        @"$(GO)" clean -cache -testcache -r
@@ -631,37 +614,31 @@ clean:
        @rm -rf "${OUTPUT}"
 
 # Remove all generated content
-.PHONY: distclean
 distclean: clean
        @echo "removing tools"
        @rm -rf "${TOOLS_DIR}"
 
 # Print arch variables
-.PHONY: arch
 arch:
        @echo DOCKER_ARCH=$(DOCKER_ARCH)
        @echo EXEC_ARCH=$(EXEC_ARCH)
 
 # Start dev cluster
-.PHONY: start-cluster
 start-cluster: $(KIND_BIN)
        @"$(KIND_BIN)" delete cluster --name="$(CLUSTER_NAME)" || :
        @./scripts/run-e2e-tests.sh -a install -n "$(CLUSTER_NAME)" -v 
"kindest/node:$(K8S_VERSION)"
 
 # Stop dev cluster
-.PHONY: stop-cluster
 stop-cluster: $(KIND_BIN)
        @"$(KIND_BIN)" delete cluster --name="$(CLUSTER_NAME)"
 
 # Start dev cluster, run e2e tests, stop dev cluster
-.PHONY: kind-e2e
 kind-e2e: $(KIND_BIN)
        @"$(KIND_BIN)" delete cluster --name="$(CLUSTER_NAME)" || : ; \
                ./scripts/run-e2e-tests.sh -a test -n "$(CLUSTER_NAME)" -v 
"kindest/node:$(K8S_VERSION)" ; STATUS=$$? ; \
                "$(KIND_BIN)" delete cluster --name="$(CLUSTER_NAME)" || : ; 
exit $$STATUS
 
 # Run the e2e tests, this assumes yunikorn is running under yunikorn namespace
-.PHONY: e2e_test
 e2e_test: tools
        @echo "running e2e tests"
        cd ./test/e2e && \


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

Reply via email to