From ab5084e0660a9d8014669b0c177787ee6fb2ea40 Mon Sep 17 00:00:00 2001 From: Bhargavkonidena Date: Mon, 26 May 2025 10:56:52 +0530 Subject: [PATCH 01/13] Create bug.md Signed-off-by: Bhargavkonidena --- .github/ISSUE_TEMPLATE/bug.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug.md diff --git a/.github/ISSUE_TEMPLATE/bug.md b/.github/ISSUE_TEMPLATE/bug.md new file mode 100644 index 000000000..386fa2ba8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.md @@ -0,0 +1,20 @@ +--- +name: Bug report +about: Share about things that are not working as expected +labels: kind/bug + +--- + +**What happened (please include outputs or screenshots)**: + +**What you expected to happen**: + +**How to reproduce it (as minimally and precisely as possible)**: + +**Anything else we need to know?**: + +**Environment**: +- Kubernetes version (`kubectl version`): +- OS (e.g., MacOS 10.13.6): +- Python version (`python --version`) +- helm version From 61e313908f520ce8915dcad855cf873374258c47 Mon Sep 17 00:00:00 2001 From: Bhargavkonidena Date: Mon, 26 May 2025 10:58:51 +0530 Subject: [PATCH 02/13] Added issue templates for documentation & features Signed-off-by: Bhargavkonidena --- .github/ISSUE_TEMPLATE/documentation.md | 10 ++++++++++ .github/ISSUE_TEMPLATE/feature.md | 10 ++++++++++ 2 files changed, 20 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/documentation.md create mode 100644 .github/ISSUE_TEMPLATE/feature.md diff --git a/.github/ISSUE_TEMPLATE/documentation.md b/.github/ISSUE_TEMPLATE/documentation.md new file mode 100644 index 000000000..75bef6b7d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/documentation.md @@ -0,0 +1,10 @@ +--- +name: Documentation +about: Report any mistakes or missing information from the documentation or the examples +labels: kind/documentation + +--- + +**Link to the issue (please include a link to the specific documentation or example)**: + +**Description of the issue (please include outputs or screenshots if possible)**: diff --git a/.github/ISSUE_TEMPLATE/feature.md b/.github/ISSUE_TEMPLATE/feature.md new file mode 100644 index 000000000..466b4f87b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature.md @@ -0,0 +1,10 @@ +--- +name: Feature request +about: Suggest a new feature for the project +labels: kind/feature + +--- + +**What is the feature and why do you need it**: + +**Describe the solution you'd like to see**: From fcef3131971ebb045994d885116dbd53112a3434 Mon Sep 17 00:00:00 2001 From: Bhargavkonidena Date: Mon, 26 May 2025 11:05:07 +0530 Subject: [PATCH 03/13] Delete .github/issue_template.md Signed-off-by: Bhargavkonidena --- .github/issue_template.md | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 .github/issue_template.md diff --git a/.github/issue_template.md b/.github/issue_template.md deleted file mode 100644 index 48f48e5b6..000000000 --- a/.github/issue_template.md +++ /dev/null @@ -1,9 +0,0 @@ - - -Output of `helm version`: - -Output of `kubectl version`: - -Cloud Provider/Platform (AKS, GKE, Minikube etc.): - - From 03d8e1eaf2b82b74284f7bda83633e8fdff495e0 Mon Sep 17 00:00:00 2001 From: Bhargavkonidena Date: Mon, 26 May 2025 11:07:52 +0530 Subject: [PATCH 04/13] Update and rename bug.md to bug-report.yaml Signed-off-by: Bhargavkonidena --- .github/ISSUE_TEMPLATE/bug-report.yaml | 80 ++++++++++++++++++++++++++ .github/ISSUE_TEMPLATE/bug.md | 20 ------- 2 files changed, 80 insertions(+), 20 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/bug-report.yaml delete mode 100644 .github/ISSUE_TEMPLATE/bug.md diff --git a/.github/ISSUE_TEMPLATE/bug-report.yaml b/.github/ISSUE_TEMPLATE/bug-report.yaml new file mode 100644 index 000000000..99c18fc16 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.yaml @@ -0,0 +1,80 @@ +name: Bug Report +description: Report a bug encountered while operating helm +labels: kind/bug +body: + - type: textarea + id: problem + attributes: + label: What happened? + description: | + Please provide as much info as possible. Not doing so may result in your bug not being addressed in a timely manner. + validations: + required: true + + - type: textarea + id: expected + attributes: + label: What did you expect to happen? + validations: + required: true + + - type: textarea + id: repro + attributes: + label: How can we reproduce it (as minimally and precisely as possible)? + validations: + required: true + + - type: textarea + id: additional + attributes: + label: Anything else we need to know? + + - type: textarea + id: kubeVersion + attributes: + label: Kubernetes version + value: | +
+ + ```console + $ kubectl version + # paste output here + ``` + +
+ validations: + required: true + + - type: textarea + id: cloudProvider + attributes: + label: Cloud provider + value: | +
+ +
+ validations: + required: true + + - type: textarea + id: osVersion + attributes: + label: OS version + value: | +
+ + ```console + # On Linux: + $ cat /etc/os-release + # paste output here + $ uname -a + # paste output here + + # On Windows: + C:\> wmic os get Caption, Version, BuildNumber, OSArchitecture + # paste output here + ``` + +
+ diff --git a/.github/ISSUE_TEMPLATE/bug.md b/.github/ISSUE_TEMPLATE/bug.md deleted file mode 100644 index 386fa2ba8..000000000 --- a/.github/ISSUE_TEMPLATE/bug.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Bug report -about: Share about things that are not working as expected -labels: kind/bug - ---- - -**What happened (please include outputs or screenshots)**: - -**What you expected to happen**: - -**How to reproduce it (as minimally and precisely as possible)**: - -**Anything else we need to know?**: - -**Environment**: -- Kubernetes version (`kubectl version`): -- OS (e.g., MacOS 10.13.6): -- Python version (`python --version`) -- helm version From ca89ae2d7aa7edf0cfa1c70bf009ebba8ba9808e Mon Sep 17 00:00:00 2001 From: Bhargavkonidena Date: Mon, 26 May 2025 11:09:05 +0530 Subject: [PATCH 05/13] Update and rename feature.md to feature.yaml Signed-off-by: Bhargavkonidena --- .github/ISSUE_TEMPLATE/feature.md | 10 ---------- .github/ISSUE_TEMPLATE/feature.yaml | 20 ++++++++++++++++++++ 2 files changed, 20 insertions(+), 10 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/feature.md create mode 100644 .github/ISSUE_TEMPLATE/feature.yaml diff --git a/.github/ISSUE_TEMPLATE/feature.md b/.github/ISSUE_TEMPLATE/feature.md deleted file mode 100644 index 466b4f87b..000000000 --- a/.github/ISSUE_TEMPLATE/feature.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: Feature request -about: Suggest a new feature for the project -labels: kind/feature - ---- - -**What is the feature and why do you need it**: - -**Describe the solution you'd like to see**: diff --git a/.github/ISSUE_TEMPLATE/feature.yaml b/.github/ISSUE_TEMPLATE/feature.yaml new file mode 100644 index 000000000..a4dfef621 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature.yaml @@ -0,0 +1,20 @@ +name: Enhancement Tracking Issue +description: Provide supporting details for a feature in development +labels: kind/feature +body: + - type: textarea + id: feature + attributes: + label: What would you like to be added? + description: | + Feature requests are unlikely to make progress as issues. + A proposal that works through the design along with the implications of the change can be opened as a KEP. + validations: + required: true + + - type: textarea + id: rationale + attributes: + label: Why is this needed? + validations: + required: true From 94318741e5bf672062afbaa4b8fb740856f99cfa Mon Sep 17 00:00:00 2001 From: Bhargavkonidena Date: Mon, 26 May 2025 11:10:30 +0530 Subject: [PATCH 06/13] Update and rename documentation.md to documentation.yaml Signed-off-by: Bhargavkonidena --- .github/ISSUE_TEMPLATE/documentation.md | 10 ---------- .github/ISSUE_TEMPLATE/documentation.yaml | 19 +++++++++++++++++++ 2 files changed, 19 insertions(+), 10 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/documentation.md create mode 100644 .github/ISSUE_TEMPLATE/documentation.yaml diff --git a/.github/ISSUE_TEMPLATE/documentation.md b/.github/ISSUE_TEMPLATE/documentation.md deleted file mode 100644 index 75bef6b7d..000000000 --- a/.github/ISSUE_TEMPLATE/documentation.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: Documentation -about: Report any mistakes or missing information from the documentation or the examples -labels: kind/documentation - ---- - -**Link to the issue (please include a link to the specific documentation or example)**: - -**Description of the issue (please include outputs or screenshots if possible)**: diff --git a/.github/ISSUE_TEMPLATE/documentation.yaml b/.github/ISSUE_TEMPLATE/documentation.yaml new file mode 100644 index 000000000..32ddd8cac --- /dev/null +++ b/.github/ISSUE_TEMPLATE/documentation.yaml @@ -0,0 +1,19 @@ +name: Documentation +description: Report any mistakes or missing information from the documentation or the examples +labels: kind/documentation +body: + - type: textarea + id: feature + attributes: + label: What would you like to be added? + description: | + Link to the issue (please include a link to the specific documentation or example). + validations: + required: true + + - type: textarea + id: rationale + attributes: + label: Why is this needed? + validations: + required: true From ebce578df25c01116ccddebb2dad7cdf5794b677 Mon Sep 17 00:00:00 2001 From: Bhargavkonidena Date: Mon, 26 May 2025 12:21:40 +0530 Subject: [PATCH 07/13] Delete .github/ISSUE_TEMPLATE directory Signed-off-by: Bhargavkonidena --- .github/ISSUE_TEMPLATE/bug-report.yaml | 80 ----------------------- .github/ISSUE_TEMPLATE/documentation.yaml | 19 ------ .github/ISSUE_TEMPLATE/feature.yaml | 20 ------ 3 files changed, 119 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/bug-report.yaml delete mode 100644 .github/ISSUE_TEMPLATE/documentation.yaml delete mode 100644 .github/ISSUE_TEMPLATE/feature.yaml diff --git a/.github/ISSUE_TEMPLATE/bug-report.yaml b/.github/ISSUE_TEMPLATE/bug-report.yaml deleted file mode 100644 index 99c18fc16..000000000 --- a/.github/ISSUE_TEMPLATE/bug-report.yaml +++ /dev/null @@ -1,80 +0,0 @@ -name: Bug Report -description: Report a bug encountered while operating helm -labels: kind/bug -body: - - type: textarea - id: problem - attributes: - label: What happened? - description: | - Please provide as much info as possible. Not doing so may result in your bug not being addressed in a timely manner. - validations: - required: true - - - type: textarea - id: expected - attributes: - label: What did you expect to happen? - validations: - required: true - - - type: textarea - id: repro - attributes: - label: How can we reproduce it (as minimally and precisely as possible)? - validations: - required: true - - - type: textarea - id: additional - attributes: - label: Anything else we need to know? - - - type: textarea - id: kubeVersion - attributes: - label: Kubernetes version - value: | -
- - ```console - $ kubectl version - # paste output here - ``` - -
- validations: - required: true - - - type: textarea - id: cloudProvider - attributes: - label: Cloud provider - value: | -
- -
- validations: - required: true - - - type: textarea - id: osVersion - attributes: - label: OS version - value: | -
- - ```console - # On Linux: - $ cat /etc/os-release - # paste output here - $ uname -a - # paste output here - - # On Windows: - C:\> wmic os get Caption, Version, BuildNumber, OSArchitecture - # paste output here - ``` - -
- diff --git a/.github/ISSUE_TEMPLATE/documentation.yaml b/.github/ISSUE_TEMPLATE/documentation.yaml deleted file mode 100644 index 32ddd8cac..000000000 --- a/.github/ISSUE_TEMPLATE/documentation.yaml +++ /dev/null @@ -1,19 +0,0 @@ -name: Documentation -description: Report any mistakes or missing information from the documentation or the examples -labels: kind/documentation -body: - - type: textarea - id: feature - attributes: - label: What would you like to be added? - description: | - Link to the issue (please include a link to the specific documentation or example). - validations: - required: true - - - type: textarea - id: rationale - attributes: - label: Why is this needed? - validations: - required: true diff --git a/.github/ISSUE_TEMPLATE/feature.yaml b/.github/ISSUE_TEMPLATE/feature.yaml deleted file mode 100644 index a4dfef621..000000000 --- a/.github/ISSUE_TEMPLATE/feature.yaml +++ /dev/null @@ -1,20 +0,0 @@ -name: Enhancement Tracking Issue -description: Provide supporting details for a feature in development -labels: kind/feature -body: - - type: textarea - id: feature - attributes: - label: What would you like to be added? - description: | - Feature requests are unlikely to make progress as issues. - A proposal that works through the design along with the implications of the change can be opened as a KEP. - validations: - required: true - - - type: textarea - id: rationale - attributes: - label: Why is this needed? - validations: - required: true From 97edeb812fbf87fe4ab8861357154daf96155be8 Mon Sep 17 00:00:00 2001 From: Bhargavkonidena Date: Mon, 26 May 2025 12:25:51 +0530 Subject: [PATCH 08/13] Updated release.yml to include goreleaser Signed-off-by: Bhargavkonidena --- .github/workflows/release.yml | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 96138caf1..14a3f7444 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -31,14 +31,26 @@ jobs: uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # pin@5.5.0 with: go-version: '${{ env.GOLANG_VERSION }}' + - name: Run unit tests run: make test-coverage + - name: Build Helm Binaries run: | set -eu -o pipefail - make build-cross VERSION="${{ github.ref_name }}" - make dist checksum VERSION="${{ github.ref_name }}" + - name: Run Go Release + uses: goreleaser/goreleaser-action@v2 + if: success() && startsWith(github.ref, 'refs/tags/') + with: + version: latest + args: release --rm-dist + env: + GITHUB_TOKEN: ${{ secrets.GH_PAT }} + + - name: Verify checksum + run: | + make dist checksum VERSION="${{ github.ref_name }}" - name: Set latest version run: | @@ -93,10 +105,18 @@ jobs: - name: Run unit tests run: make test-coverage - - name: Build Helm Binaries + - name: Run Go Release + uses: goreleaser/goreleaser-action@v2 + if: success() && startsWith(github.ref, 'refs/tags/') + with: + version: latest + args: release --rm-dist + env: + GITHUB_TOKEN: ${{ secrets.GH_PAT }} + + - name: Verify checksum run: | - make build-cross - make dist checksum VERSION="canary" + make dist checksum VERSION="canary" - name: Upload Binaries uses: bacongobbler/azure-blob-storage-upload@50f7d898b7697e864130ea04c303ca38b5751c50 # pin@3.0.0 From 2790d8cd738a26621e552b31fa7ffcc61e0c8433 Mon Sep 17 00:00:00 2001 From: Bhargavkonidena Date: Mon, 26 May 2025 12:43:30 +0530 Subject: [PATCH 09/13] Create .goreleaser.yaml Signed-off-by: Bhargavkonidena --- .github/workflows/.goreleaser.yaml | 38 ++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .github/workflows/.goreleaser.yaml diff --git a/.github/workflows/.goreleaser.yaml b/.github/workflows/.goreleaser.yaml new file mode 100644 index 000000000..62958e9e2 --- /dev/null +++ b/.github/workflows/.goreleaser.yaml @@ -0,0 +1,38 @@ +project_name: helm + +builds: + - id: helm + main: ./cmd/helm + binary: helm + goos: + - linux + - darwin + - windows + goarch: + - amd64 + - arm64 + goarm: + - 6 + env: + - CGO_ENABLED=0 + - GOFLAGS=-trimpath + ldflags: + - -s -w -extldflags "-static" + flags: + - -tags=netgo + output: _dist/{{ .Os }}-{{ .Arch }}/helm + +archives: + - id: default + name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}" + format: tar.gz + files: + - LICENSE + - README.md + - _dist/{{ .Os }}-{{ .Arch }}/helm + +checksum: + name_template: checksums.txt + +snapshot: + name_template: "{{ .Commit }}" From 9582e5601cb744e05774e5ace07c25414a149b41 Mon Sep 17 00:00:00 2001 From: Bhargavkonidena Date: Thu, 29 May 2025 10:09:11 +0530 Subject: [PATCH 10/13] Create issue_template.md Signed-off-by: Bhargavkonidena --- .github/issue_template.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .github/issue_template.md diff --git a/.github/issue_template.md b/.github/issue_template.md new file mode 100644 index 000000000..3d186d21e --- /dev/null +++ b/.github/issue_template.md @@ -0,0 +1,8 @@ + + +Output of `helm version`: + +Output of `kubectl version`: + +Cloud Provider/Platform (AKS, GKE, Minikube etc.): + From 5fe7958679a3317b1ccaf658a9eecc9ff6eb0b4b Mon Sep 17 00:00:00 2001 From: Bhargavkonidena Date: Thu, 29 May 2025 10:25:10 +0530 Subject: [PATCH 11/13] Update version 6.3.0 for goreleaser in release.yml Signed-off-by: Bhargavkonidena --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 14a3f7444..297a23fc4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -40,7 +40,7 @@ jobs: set -eu -o pipefail - name: Run Go Release - uses: goreleaser/goreleaser-action@v2 + uses: goreleaser/goreleaser-action@v6.3.0 if: success() && startsWith(github.ref, 'refs/tags/') with: version: latest From 8ac14597bd913867e408f635bd055f7aa88e6028 Mon Sep 17 00:00:00 2001 From: Bhargavkonidena Date: Thu, 29 May 2025 10:25:57 +0530 Subject: [PATCH 12/13] Update version 6.3.0 for goreleaser in release.yml Signed-off-by: Bhargavkonidena --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 297a23fc4..1d41e62f8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -106,7 +106,7 @@ jobs: run: make test-coverage - name: Run Go Release - uses: goreleaser/goreleaser-action@v2 + uses: goreleaser/goreleaser-action@v6.3.0 if: success() && startsWith(github.ref, 'refs/tags/') with: version: latest From 3af395c52ae23a06b3413a07ed036e75e5afa4c0 Mon Sep 17 00:00:00 2001 From: Bhargavkonidena Date: Thu, 29 May 2025 10:41:38 +0530 Subject: [PATCH 13/13] remove unwanted references Signed-off-by: Bhargavkonidena --- Makefile | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index 0785fdb2e..9889b4936 100644 --- a/Makefile +++ b/Makefile @@ -1,15 +1,12 @@ BINDIR := $(CURDIR)/bin INSTALL_PATH ?= /usr/local/bin DIST_DIRS := find * -type d -exec -TARGETS := darwin/amd64 darwin/arm64 linux/amd64 linux/386 linux/arm linux/arm64 linux/ppc64le linux/s390x linux/riscv64 windows/amd64 windows/arm64 -TARGET_OBJS ?= darwin-amd64.tar.gz darwin-amd64.tar.gz.sha256 darwin-amd64.tar.gz.sha256sum darwin-arm64.tar.gz darwin-arm64.tar.gz.sha256 darwin-arm64.tar.gz.sha256sum linux-amd64.tar.gz linux-amd64.tar.gz.sha256 linux-amd64.tar.gz.sha256sum linux-386.tar.gz linux-386.tar.gz.sha256 linux-386.tar.gz.sha256sum linux-arm.tar.gz linux-arm.tar.gz.sha256 linux-arm.tar.gz.sha256sum linux-arm64.tar.gz linux-arm64.tar.gz.sha256 linux-arm64.tar.gz.sha256sum linux-ppc64le.tar.gz linux-ppc64le.tar.gz.sha256 linux-ppc64le.tar.gz.sha256sum linux-s390x.tar.gz linux-s390x.tar.gz.sha256 linux-s390x.tar.gz.sha256sum linux-riscv64.tar.gz linux-riscv64.tar.gz.sha256 linux-riscv64.tar.gz.sha256sum windows-amd64.zip windows-amd64.zip.sha256 windows-amd64.zip.sha256sum windows-arm64.zip windows-arm64.zip.sha256 windows-arm64.zip.sha256sum BINNAME ?= helm GOBIN = $(shell go env GOBIN) ifeq ($(GOBIN),) GOBIN = $(shell go env GOPATH)/bin endif -GOX = $(GOBIN)/gox GOIMPORTS = $(GOBIN)/goimports ARCH = $(shell go env GOARCH) @@ -131,8 +128,7 @@ test-source-headers: @scripts/validate-license.sh .PHONY: test-acceptance -test-acceptance: TARGETS = linux/amd64 -test-acceptance: build build-cross +test-acceptance: build build-linux-amd64 @if [ -d "${ACCEPTANCE_DIR}" ]; then \ cd ${ACCEPTANCE_DIR} && \ ROBOT_RUN_TESTS=$(ACCEPTANCE_RUN_TESTS) ROBOT_HELM_PATH='$(BINDIR)' make acceptance; \ @@ -167,9 +163,6 @@ gen-test-golden: test-unit # dependencies to the go.mod file. To avoid that we change to a directory # without a go.mod file when downloading the following dependencies -$(GOX): - (cd /; go install github.com/mitchellh/gox@v1.0.2-0.20220701044238-9f712387e2d2) - $(GOIMPORTS): (cd /; go install golang.org/x/tools/cmd/goimports@latest) @@ -177,9 +170,13 @@ $(GOIMPORTS): # release .PHONY: build-cross -build-cross: LDFLAGS += -extldflags "-static" -build-cross: $(GOX) - GOFLAGS="-trimpath" CGO_ENABLED=0 $(GOX) -parallel=3 -output="_dist/{{.OS}}-{{.Arch}}/$(BINNAME)" -osarch='$(TARGETS)' $(GOFLAGS) -tags '$(TAGS)' -ldflags '$(LDFLAGS)' ./cmd/helm +build-cross: + @echo "==> Building cross-platform binaries using GoReleaser" + goreleaser build --clean --skip-validate --single-target + +.PHONY: build-linux-amd64 +build-linux-amd64: + GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build $(GOFLAGS) -trimpath -tags '$(TAGS)' -ldflags '$(LDFLAGS)' -o '$(BINDIR)/$(BINNAME)' ./cmd/helm .PHONY: dist dist: