Skip to content

ci: adopt centralized component workflows - #280

Merged
almaslennikov merged 1 commit into
mainfrom
dev/central-workflows
Sep 29, 2026
Merged

almaslennikov merged 1 commit into
mainfrom
dev/central-workflows

Conversation

@almaslennikov

@almaslennikov almaslennikov commented Sep 29, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Reuse centralized Go checks and existing CodeQL/image-build workflows where applicable.
  • Keep repository commands, triggers, coverage formats, and specialized checks.
  • Accept the centrally selected golangci-lint version without caller version inputs.

Validation

  • actionlint passed for changed workflows.
  • git diff --check passed.
  • Verified Makefile environment overrides select the central linter version (Task-based installation is checked separately).
  • Linux runtime tests and image checks run in hosted CI.

Preserves documentation contract checks and all platform builds. Combines race detection and coverage in one test run. Updated CONTRIBUTING.md with CI and local linter installation guidance; operational docs and skills do not describe the changed CI implementation.

Follow-up validation

  • Local Linux-targeted golangci-lint v2.14.0 passed with Go 1.27.1 (0 issues).

Signed-off-by: Alexander Maslennikov <amaslennikov@nvidia.com>
@greptile-apps

greptile-apps Bot commented Sep 29, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 4/5

[High risk] CI workflow delegates to external centralized repository.

The PR appears safe to merge, with non-blocking fixes recommended for local linter installation.

Findings

  1. P2 Unquoted checkout paths ▶
  2. P2 Untracked linter binary ▶

Summary

The PR replaces local build, test, and lint jobs with a centrally managed Go workflow, combines race testing with coverage, and changes local lint installation to use a versioned binary.

  • The local installer needs quoted paths and generated-binary cleanup or ignore handling.

Reviews (1) · Last reviewed commit: "ci: adopt centralized component workflow..."

Comment thread Makefile
Comment on lines +98 to +100
mkdir -p $(CURDIR)/bin
GOBIN=$(CURDIR)/bin go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@$(GOLANGCILINT_VERSION)
mv $(CURDIR)/bin/golangci-lint $(GOLANGCI_LINT)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Unquoted checkout paths

If the checkout path contains spaces, the shell splits the unquoted $(CURDIR) in mkdir, GOBIN, and mv. The linter cannot be installed or run from that checkout. Quote the generated paths throughout the installer and lint command.

Comment thread Makefile
Comment on lines +97 to +100
$(GOLANGCI_LINT):
mkdir -p $(CURDIR)/bin
GOBIN=$(CURDIR)/bin go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@$(GOLANGCILINT_VERSION)
mv $(CURDIR)/bin/golangci-lint $(GOLANGCI_LINT)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Untracked linter binary

make lint now installs a versioned binary under bin/, but that directory is not ignored and make clean does not remove it. Each local installation leaves an untracked build artifact in the checkout. Ignore or clean up the generated binary.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

@almaslennikov
almaslennikov merged commit e736003 into main Sep 29, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant