HYPERFLEET-1337 - chore: replace bingo with Go 1.24 tool directives - #11
HYPERFLEET-1337 - chore: replace bingo with Go 1.24 tool directives#11kuudori wants to merge 4 commits into
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughBingo-managed tool metadata and helper files are removed. The main Estimated code review effort: 3 (Moderate) | ~20 minutes 🚥 Pre-merge checks | ✅ 11✅ Passed checks (11 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
Comment |
95ffe5c to
eb5ea75
Compare
db190c9 to
236f9eb
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@Makefile`:
- Around line 37-39: Harden the GOLANGCI_LINT_VERSION-driven installation flow
and the related recipe sections by preventing arbitrary Make overrides, either
making the version immutable or validating it against strict semver before use.
Quote all command and filesystem variable expansions in affected recipes, and
use mv -- when moving downloaded files; update references to GOLANGCI_LINT and
the installation targets consistently.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Central YAML (base), Organization UI (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: 602b4bef-3688-43c9-a527-d2619b16dcb8
⛔ Files ignored due to path filters (3)
.bingo/goimports.sumis excluded by!**/*.sum.bingo/golangci-lint.sumis excluded by!**/*.sumgo.sumis excluded by!**/*.sum,!**/go.sum
📒 Files selected for processing (10)
.bingo/.gitignore.bingo/README.md.bingo/Variables.mk.bingo/go.mod.bingo/goimports.mod.bingo/golangci-lint.mod.bingo/variables.env.golangci.ymlMakefilego.mod
🔗 Linked repositories identified
CodeRabbit considers these linked repositories for cross-repo context during reviews:
openshift-hyperfleet/architecture(manual)openshift-hyperfleet/hyperfleet-api(manual)openshift-hyperfleet/hyperfleet-sentinel(manual)openshift-hyperfleet/hyperfleet-adapter(manual) → reviewed against branchchore/replace-bingo-with-go-tool-directivesinstead of the default branchopenshift-hyperfleet/hyperfleet-broker(manual) → reviewed against open PR#26chore/replace-bingo-with-go-tool-directivesinstead of the default branch
💤 Files with no reviewable changes (7)
- .bingo/go.mod
- .bingo/golangci-lint.mod
- .bingo/README.md
- .bingo/Variables.mk
- .bingo/.gitignore
- .bingo/variables.env
- .bingo/goimports.mod
236f9eb to
1e74ca4
Compare
1e74ca4 to
43475f2
Compare
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@Makefile`:
- Around line 34-38: Harden the Makefile tool invocation and all affected lint,
fmt, and tools recipes against overridden GOCMD and TOOL_MOD values by making
them immutable or strictly allowlisted, setting TOOL_MOD to an absolute path,
and consistently shell-quoting path arguments. Update the gotool definition and
the referenced recipe commands while preserving their existing behavior.
- Around line 126-128: Update the verify-tools target to avoid mutating the
checkout: verify tools/go.sum is tracked using git ls-files --error-unmatch,
then run the tools module tidy/check in a temporary copy and compare its
go.mod/go.sum output against the committed files. Preserve the existing failure
message and nonzero exit behavior when files are missing or drifted.
In `@tools/go.mod`:
- Around line 1-5: Remove the direct golangci-lint tool declaration from the
tools module and restore its pinning through the repository’s approved Bingo
flow, including the corresponding .bingo/Variables.mk entry and generated
metadata. If retaining the Go tool directive is required, obtain and document
the explicit standards exception instead of bypassing dependency pinning.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Central YAML (base), Organization UI (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: bdeed585-0218-448f-a4a2-b6f406200a12
⛔ Files ignored due to path filters (3)
.bingo/goimports.sumis excluded by!**/*.sumgo.sumis excluded by!**/*.sum,!**/go.sumtools/go.sumis excluded by!**/*.sum,!**/go.sum
📒 Files selected for processing (11)
.bingo/.gitignore.bingo/README.md.bingo/Variables.mk.bingo/go.mod.bingo/goimports.mod.bingo/golangci-lint.mod.bingo/variables.env.golangci.ymlMakefilego.modtools/go.mod
🔗 Linked repositories identified
CodeRabbit considers these linked repositories for cross-repo context during reviews:
openshift-hyperfleet/architecture(manual)openshift-hyperfleet/hyperfleet-api(manual)openshift-hyperfleet/hyperfleet-sentinel(manual)openshift-hyperfleet/hyperfleet-adapter(manual) → reviewed against branchchore/replace-bingo-with-go-tool-directivesinstead of the default branchopenshift-hyperfleet/hyperfleet-broker(manual) → reviewed against open PR#26chore/replace-bingo-with-go-tool-directivesinstead of the default branch
💤 Files with no reviewable changes (7)
- .bingo/README.md
- .bingo/variables.env
- .bingo/goimports.mod
- .bingo/.gitignore
- .bingo/golangci-lint.mod
- .bingo/go.mod
- .bingo/Variables.mk
🚧 Files skipped from review as they are similar to previous changes (2)
- .golangci.yml
- go.mod
- Quote Make variables in gotool and tool recipes (CWE-78) - Compare tool files against HEAD in verify-tools
108e27d to
6f95f78
Compare
|
/lgtm |
HYPERFLEET-1337
Replace Bingo / standalone
go installwith a singletools/go.modusing Go 1.24+ tool directives.Tools are pinned in
tools/go.modand invoked via$(call gotool,<name>)in the Makefile.Tools:
Also adds
toolsandverify-toolsMake targets.Follow-up changes (review comment fixes)
$(GOCMD)and$(TOOL_MOD)in Makefilegotooland tool recipes to prevent shell injection (CWE-78)verify-toolsnow compares againstHEAD(git diff HEAD --) instead of the working tree