You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@yunikorn.apache.org by wi...@apache.org on 2026/06/22 05:03:48 UTC
(yunikorn-core) 01/02: [YUNIKORN-3194] Update PR template to ask about AI contribution (#1094)
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-core.git
commit 6b2289c3b99290f9d22f999767730b715746f0b3
Author: Wilfred Spiegelenburg <wi...@apache.org>
AuthorDate: Fri Jun 19 10:46:41 2026 +0530
[YUNIKORN-3194] Update PR template to ask about AI contribution (#1094)
Update PR template:
* ask about AI contribution
* Check for testing performed (new make target to simplify task)
* Update Jira area
Cleanup of Makefile: variables for tools and build dir
Closes: #1094
Signed-off-by: mani <ma...@gmail.com>
(cherry picked from commit 2cf452f65ea97f33e4bc90927f86e57de7fbd417)
---
.github/PULL_REQUEST_TEMPLATE | 50 +++++++++++++++++++++--------------
.gitignore | 1 -
Makefile | 61 ++++++++++++++++++++-----------------------
3 files changed, 58 insertions(+), 54 deletions(-)
diff --git a/.github/PULL_REQUEST_TEMPLATE b/.github/PULL_REQUEST_TEMPLATE
index 0d56d005..7d38c699 100644
--- a/.github/PULL_REQUEST_TEMPLATE
+++ b/.github/PULL_REQUEST_TEMPLATE
@@ -1,28 +1,38 @@
-### 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.
+- [ ] A pull request will be opened for new e2e tests (apache/yunikorn-k8shim repository).
### 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/.gitignore b/.gitignore
index ee7b0038..7f74271c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,5 @@
.DS_Store
/tools/
/build/
-/coverage.txt
*.swp
*.tmp
diff --git a/Makefile b/Makefile
index b83ba443..be9e1acc 100644
--- a/Makefile
+++ b/Makefile
@@ -15,6 +15,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+.PHONY: lint check_scripts license-check pseudo test test_all bench fsm_graph
+.PHONY: build tools clean distclean
+
# Check if this GO tools version used is at least the version of go specified in
# the go.mod file. The version in go.mod should be in sync with other repos.
@@ -41,7 +44,8 @@ endif
# Make sure we are in the same directory as the Makefile
BASE_DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
-TOOLS_DIR=tools
+TOOLS_DIR := tools
+BUILD_DIR := build
# Force Go modules even when checked out inside GOPATH
GO111MODULE := on
@@ -99,16 +103,17 @@ endif
# golangci-lint
GOLANGCI_LINT_VERSION=2.10.1
-GOLANGCI_LINT_PATH=$(TOOLS_DIR)/golangci-lint-v$(GOLANGCI_LINT_VERSION)
+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
all:
$(MAKE) -C $(dir $(BASE_DIR)) build
+test_all: check_scripts license-check lint test
+
# Install tools
-.PHONY: tools
tools: $(SHELLCHECK_BIN) $(GOLANGCI_LINT_BIN)
# Install shellcheck
@@ -125,7 +130,6 @@ $(GOLANGCI_LINT_BIN):
@curl -sSfL "https://github.com/golangci/golangci-lint/releases/download/v$(GOLANGCI_LINT_VERSION)/$(GOLANGCI_LINT_ARCHIVE)" \
| tar -x -z --strip-components=1 -C "$(GOLANGCI_LINT_PATH)" "$(GOLANGCI_LINT_ARCHIVEBASE)/golangci-lint"
-.PHONY: lint
# Run lint against the previous commit for PR and branch build
# In dev setup look at all changes on top of master
lint: $(GOLANGCI_LINT_BIN)
@@ -133,33 +137,31 @@ lint: $(GOLANGCI_LINT_BIN)
@"${GOLANGCI_LINT_BIN}" run
# Check scripts
-.PHONY: check_scripts
-ALLSCRIPTS := $(shell find . -not \( -path ./tools -prune \) -not \( -path ./build -prune \) -name '*.sh')
+ALLSCRIPTS := $(shell find . -not \( -path ./"${TOOLS_DIR}" -prune \) -not \( -path ./"${BUILD_DIR}" -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
# way on both Mac and Linux. Excluding all .git* files from the checks.
+LICENSE_CHECK_OUT := $(BUILD_DIR)/license-check.txt
license-check:
@echo "checking license headers:"
ifeq (darwin,$(OS))
- $(shell mkdir -p build && find -E . -not \( -path './.git*' -prune \) -not \( -path ./build -prune \) -not \( -path ./tools -prune \) -regex ".*\.(go|sh|md|yaml|yml|mod)" -exec grep -L "Licensed to the Apache Software Foundation" {} \; > build/license-check.txt)
+ $(shell mkdir -p "${BUILD_DIR}" && find -E . -not \( -path './.git*' -prune \) -not \( -path ./"${BUILD_DIR}" -prune \) -not \( -path ./"${TOOLS_DIR}" -prune \) -regex ".*\.(go|sh|md|yaml|yml|mod)" -exec grep -L "Licensed to the Apache Software Foundation" {} \; > "${LICENSE_CHECK_OUT}")
else
- $(shell mkdir -p build && find . -not \( -path './.git*' -prune \) -not \( -path ./build -prune \) -not \( -path ./tools -prune \) -regex ".*\.\(go\|sh\|md\|yaml\|yml\|mod\)" -exec grep -L "Licensed to the Apache Software Foundation" {} \; > build/license-check.txt)
+ $(shell mkdir -p "${BUILD_DIR}" && find . -not \( -path './.git*' -prune \) -not \( -path ./"${BUILD_DIR}" -prune \) -not \( -path ./"${TOOLS_DIR}" -prune \) -regex ".*\.\(go\|sh\|md\|yaml\|yml\|mod\)" -exec grep -L "Licensed to the Apache Software Foundation" {} \; > "${LICENSE_CHECK_OUT}")
endif
- @if [ -s "build/license-check.txt" ]; then \
+ @if [ -s "${LICENSE_CHECK_OUT}" ]; then \
echo "following files are missing license header:" ; \
- cat build/license-check.txt ; \
+ cat "${LICENSE_CHECK_OUT}" ; \
exit 1; \
fi
@echo " all OK"
# Check that we use pseudo versions in master
-.PHONY: pseudo
BRANCH := $(shell git branch --show-current)
SI_REF := $(shell "$(GO)" list -m -f '{{ .Version }}' github.com/apache/yunikorn-scheduler-interface)
SI_MATCH := $(shell expr "${SI_REF}" : "v0.0.0-")
@@ -175,49 +177,44 @@ pseudo:
@echo " all OK"
# Build the example binaries for dev and test
-.PHONY: commands
-commands: build/simplescheduler build/schedulerclient build/queueconfigchecker
+commands: $(BUILD_DIR)/simplescheduler $(BUILD_DIR)/schedulerclient $(BUILD_DIR)/queueconfigchecker
-build/simplescheduler: go.mod go.sum $(shell find cmd pkg)
+$(BUILD_DIR)/simplescheduler: go.mod go.sum $(shell find cmd pkg)
@echo "building example scheduler"
- @mkdir -p build
- "$(GO)" build $(RACE) -a -ldflags '-extldflags "-static"' -o build/simplescheduler ./cmd/simplescheduler
+ @mkdir -p "${BUILD_DIR}"
+ "$(GO)" build $(RACE) -a -ldflags '-extldflags "-static"' -o "${BUILD_DIR}/simplescheduler" ./cmd/simplescheduler
-build/schedulerclient: go.mod go.sum $(shell find cmd pkg)
+$(BUILD_DIR)/schedulerclient: go.mod go.sum $(shell find cmd pkg)
@echo "building example client"
- @mkdir -p build
- "$(GO)" build $(RACE) -a -ldflags '-extldflags "-static"' -o build/schedulerclient ./cmd/schedulerclient
+ @mkdir -p "${BUILD_DIR}"
+ "$(GO)" build $(RACE) -a -ldflags '-extldflags "-static"' -o "${BUILD_DIR}/schedulerclient" ./cmd/schedulerclient
-build/queueconfigchecker: go.mod go.sum $(shell find cmd pkg)
+$(BUILD_DIR)/queueconfigchecker: go.mod go.sum $(shell find cmd pkg)
@echo "building queueconfigchecker"
- @mkdir -p build
- "$(GO)" build $(RACE) -a -ldflags '-extldflags "-static"' -o build/queueconfigchecker ./cmd/queueconfigchecker
+ @mkdir -p "${BUILD_DIR}"
+ "$(GO)" build $(RACE) -a -ldflags '-extldflags "-static"' -o "${BUILD_DIR}/queueconfigchecker" ./cmd/queueconfigchecker
# Build binaries for dev and test
-.PHONY: build
build: commands
# Run the tests after building
-.PHONY: test
test: export DEADLOCK_DETECTION_ENABLED = true
test: export DEADLOCK_TIMEOUT_SECONDS = 10
test: export DEADLOCK_EXIT = true
test:
@echo "running unit tests"
- @mkdir -p build
+ @mkdir -p "${BUILD_DIR}"
"$(GO)" clean -testcache
- "$(GO)" test ./... $(RACE) -tags deadlock -coverprofile=build/coverage.txt -covermode=atomic
+ "$(GO)" test ./... $(RACE) -tags deadlock -coverprofile="${BUILD_DIR}/coverage.txt" -covermode=atomic
"$(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
@@ -225,15 +222,13 @@ 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
@echo "removing generated files"
- @rm -rf build
+ @rm -rf "${BUILD_DIR}"
# Remove all generated content
-.PHONY: distclean
distclean: clean
@echo "removing tools"
@rm -rf "${TOOLS_DIR}"
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: issues-help@yunikorn.apache.org