chore: stabilize Makefile, removed outdated tooling and upgrade versions#90
Conversation
|
CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅ |
|
I have read the CLA Document and I hereby sign the CLA |
There was a problem hiding this comment.
Pull request overview
This PR updates the project’s build/dev tooling to be more deterministic (Makefile + CI), upgrades the Go/toolchain baseline, and modernizes linting configuration while making a few small code/test cleanups.
Changes:
- Stabilize Makefile versioning for tagless clones and pin golangci-lint.
- Upgrade Go version/toolchain and update CI/go deps checks accordingly.
- Migrate
.golangci.ymlto the golangci-lint v2 config format and adjust enabled linters/formatters.
Reviewed changes
Copilot reviewed 9 out of 10 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
Makefile |
Adds VERSION fallback and pins golangci-lint install/version. |
.golangci.yml |
Migrates to v2 config structure; enables staticcheck and formatters. |
go.mod |
Updates Go/toolchain directives; promotes k8s.io/api to direct dependency. |
buildscripts/checkdeps.sh |
Raises minimum Go version check. |
.github/workflows/build.yaml |
Updates setup-go action, Go version, and pins gofumpt version. |
pkg/helm/helm.go |
Uses client.LocateChart for chart resolution in Apply/Upgrade. |
pkg/installer/installer.go |
Refactors store selection to a switch for secret manifest generation. |
pkg/model/role/role.go |
Simplifies stream validation logic. |
pkg/iterator/iterator_test.go |
Simplifies time equality assertions. |
.gitignore |
Ignores CLAUDE.md. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| secretManifest = getParseableSecretBlob(ps, objectStoreConfig) | ||
| } else if store == GcsStore { | ||
| case GcsStore: | ||
| secretManifest = getParseableSecretGcs(ps, objectStoreConfig) |
There was a problem hiding this comment.
applyParseableSecret can call applyManifest with an empty secretManifest when store has an unexpected value (no default case). Returning an explicit error in a default branch would prevent applying an empty/invalid manifest and make failures clearer to users.
| secretManifest = getParseableSecretGcs(ps, objectStoreConfig) | |
| secretManifest = getParseableSecretGcs(ps, objectStoreConfig) | |
| default: | |
| return fmt.Errorf("unsupported object store: %v", store) |
| @echo "Installing stringer" && go install -v golang.org/x/tools/cmd/stringer@latest | ||
| @echo "Installing staticheck" && go install honnef.co/go/tools/cmd/staticcheck@latest | ||
| @echo "Installing golangci-lint $(GOLANGCI_LINT_VERSION)" | ||
| @curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(GOPATH)/bin $(GOLANGCI_LINT_VERSION) |
There was a problem hiding this comment.
The curl | sh pipeline can succeed even if curl fails (because the shell returns the status of the last command in the pipeline). This can lead to silently missing golangci-lint installs. Consider avoiding the pipeline (download then execute), or ensure pipefail is enabled so failures propagate; also consider pinning the install script to a specific tag/commit instead of master to reduce supply-chain risk.
| @curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(GOPATH)/bin $(GOLANGCI_LINT_VERSION) | |
| @tmpfile=$$(mktemp); trap 'rm -f "$$tmpfile"' EXIT; \ | |
| curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/$(GOLANGCI_LINT_VERSION)/install.sh -o "$$tmpfile" && \ | |
| sh "$$tmpfile" -b $(GOPATH)/bin $(GOLANGCI_LINT_VERSION) |
What i changed
this comes buid-in with latest version of go-lintTest
make filecommands and working as expected in dev environment.