Skip to content

NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.12.2 - autoclosed#692

Closed
red-hat-konflux[bot] wants to merge 1 commit into
mainfrom
konflux/mintmaker/main/linter
Closed

NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.12.2 - autoclosed#692
red-hat-konflux[bot] wants to merge 1 commit into
mainfrom
konflux/mintmaker/main/linter

Conversation

@red-hat-konflux
Copy link
Copy Markdown
Contributor

@red-hat-konflux red-hat-konflux Bot commented Feb 18, 2026

This PR contains the following updates:

Package Change Age Confidence
github.com/golangci/golangci-lint v2.8.0v2.12.2 age confidence

Release Notes

golangci/golangci-lint (github.com/golangci/golangci-lint)

v2.12.2

Compare Source

Released on 2026-05-06

  1. Linters bug fixes
    • gomodguard_v2: fix blocked configuration
    • gomodguard_v2: from 2.1.0 to 2.1.3
    • iface: from 1.4.1 to 1.4.2

v2.12.1

Compare Source

Released on 2026-05-01

  1. Linters bug fixes
    • gomodguard_v2: fix panic with migration suggestion
  2. Misc.
    • fix install.sh script (if you are still using an URL based on the branch master, please update to use https://golangci-lint.run/install.sh)

v2.12.0

Compare Source

Released on 2026-05-01

  1. New linters
  2. Linters new features or changes
    • dupl: from f665c8d to c99c5cf (extended detection)
    • funcorder: from 0.5.0 to 0.6.0 (new option: function)
    • goconst: add an option to ignore strings from tests
    • goconst: from 1.8.2 to 1.10.0 (extended detection)
    • gomodguard_v2: from 1.4.1 to 2.1.0 (major version with new configuration)
    • gosec: from 619ce21 to 2.26.1 (new checks: G124, G708, G709, G710)
    • govet: add inline analyzer
    • makezero: from 2.1.0 to 2.2.1 (support slice type aliases)
    • paralleltest: expose checkcleanup option
    • sloglint: from 0.11.1 to 0.12.0 (new options: allowed-keys, custom-funcs)
    • wsl_v5: from 5.6.0 to 5.8.0 (new option: cuddle-max-statements; new checks: after-decl, after-defer, after-expr, after-go, cuddle-group)
  3. Linters bug fixes
    • forbidigo: from 2.3.0 to 2.3.1
    • godot: from 1.5.4 to 1.5.6
    • govet-modernize: from 0.43.0 to 0.44.0
    • ireturn: from 0.4.0 to 0.4.1
    • rowserrcheck: from 1.1.1 to c5f79b8
  4. Misc.
    • Decrease cache entropy
    • Embed the JSON schema in the binary
    • Filter env vars when cloning the repository with the custom command

v2.11.4

Compare Source

Released on 2026-03-22

  1. Linters bug fixes
    • govet-modernize: from 0.42.0 to 0.43.0
    • noctx: from 0.5.0 to 0.5.1
    • sqlclosecheck: from 0.5.1 to 0.6.0

v2.11.3

Compare Source

Released on 2026-03-10

  1. Linters bug fixes

v2.11.2

Compare Source

Released on 2026-03-07

  1. Fixes
    • fmt: fix error when using the fmt command with explicit paths.

v2.11.1

Compare Source

Released on 2026-03-06

Due to an error related to AUR, some artifacts of the v2.11.0 release have not been published.

This release contains the same things as v2.11.0.

v2.11.0

Compare Source

Released on 2026-03-06

  1. Linters new features or changes
    • errcheck: from 1.9.0 to 1.10.0 (exclude crypto/rand.Read by default)
    • gosec: from 2.23.0 to 2.24.6 (new rules: G113, G118, G119, G120, G121, G122, G123, G408, G707)
    • noctx: from 0.4.0 to 0.5.0 (new detection: httptest.NewRequestWithContext)
    • prealloc: from 1.0.2 to 1.1.0
    • revive: from 1.14.0 to 1.15.0 (⚠️ Breaking change: package-related checks moved from var-naming to a new rule package-naming)
  2. Linters bug fixes
    • gocognit: from 1.2.0 to 1.2.1
    • gosec: from 2.24.6 to 2.24.7
    • unqueryvet: from 1.5.3 to 1.5.4

v2.10.1

Compare Source

Released on 2026-02-17

  1. Fixes
    • buildssa panic

v2.10.0

Compare Source

Released on 2026-02-17

  1. Linters new features or changes
    • ginkgolinter: from 0.22.0 to 0.23.0
    • gosec: from 2.22.11 to 2.23.0 (new rules: G117, G602, G701, G702, G703, G704, G705, G706)
    • staticcheck: from 0.6.1 to 0.7.0
  2. Linters bug fixes
    • godoclint: from 0.11.1 to 0.11.2

v2.9.0

Compare Source

Released on 2026-02-10

  1. Enhancements
    • 🎉 go1.26 support
  2. Linters new features or changes
    • arangolint: from 0.3.1 to 0.4.0 (new rule: detect potential query injections)
    • ginkgolinter: from 0.21.2 to 0.22.0 (support for wrappers)
    • golines: from 0.14.0 to 0.15.0
    • misspell: from 0.7.0 to 0.8.0
    • revive: from v1.13.0 to v1.14.0 (new rules: epoch-naming, use-slices-sort)
    • unqueryvet: from 1.4.0 to 1.5.3 (new options: check-n1, check-sql-injection, check-tx-leaks, allow, custom-rules)
    • wsl_v5: from 5.3.0 to 5.6.0 (new rule: after-block)
  3. Linters bug fixes
    • modernize: from 0.41.0 to 0.42.0
    • prealloc: from 1.0.1 to 1.0.2
    • protogetter: from 0.3.18 to 0.3.20
  4. Misc.
    • Log information about files when configuration verification
    • Emit an error when no linters enabled
    • Do not collect VCS information when loading code

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

To execute skipped test pipelines write comment /ok-to-test.


Documentation

Find out how to configure dependency updates in MintMaker documentation or see all available configuration options in Renovate documentation.

@red-hat-konflux red-hat-konflux Bot added approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. linter labels Feb 18, 2026
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Feb 18, 2026
@openshift-ci-robot
Copy link
Copy Markdown

@red-hat-konflux[bot]: This pull request explicitly references no jira issue.

Details

In response to this:

This PR contains the following updates:

Package Change Age Confidence
github.com/golangci/golangci-lint v2.8.0 -> v2.10.1 age confidence

Release Notes

golangci/golangci-lint (github.com/golangci/golangci-lint)

v2.10.1

Compare Source

Released on 2026-02-17

  1. Fixes
  • buildssa panic

v2.10.0

Compare Source

Released on 2026-02-17

  1. Linters new features or changes
  • ginkgolinter: from 0.22.0 to 0.23.0
  • gosec: from 2.22.11 to 2.23.0 (new rules: G117, G602, G701, G702, G703, G704, G705, G706)
  • staticcheck: from 0.6.1 to 0.7.0
  1. Linters bug fixes
  • godoclint: from 0.11.1 to 0.11.2

v2.9.0

Compare Source

Released on 2026-02-10

  1. Enhancements
  • 🎉 go1.26 support
  1. Linters new features or changes
  • arangolint: from 0.3.1 to 0.4.0 (new rule: detect potential query injections)
  • ginkgolinter: from 0.21.2 to 0.22.0 (support for wrappers)
  • golines: from 0.14.0 to 0.15.0
  • misspell: from 0.7.0 to 0.8.0
  • revive: from v1.13.0 to v1.14.0 (new rules: epoch-naming, use-slices-sort)
  • unqueryvet: from 1.4.0 to 1.5.3 (new options: check-n1, check-sql-injection, check-tx-leaks, allow, custom-rules)
  • wsl: from 5.3.0 to 5.6.0 (new rule: after-block)
  1. Linters bug fixes
  • modernize: from 0.41.0 to 0.42.0
  • prealloc: from 1.0.1 to 1.0.2
  • protogetter: from 0.3.18 to 0.3.20
  1. Misc.
  • Log information about files when configuration verification
  • Emit an error when no linters enabled
  • Do not collect VCS information when loading code

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

To execute skipped test pipelines write comment /ok-to-test.


Documentation

Find out how to configure dependency updates in MintMaker documentation or see all available configuration options in Renovate documentation.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci Bot added the size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. label Feb 18, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented Feb 18, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 61.74%. Comparing base (2b81dd8) to head (2082f68).

⚠️ Current head 2082f68 differs from pull request most recent head 4f39ac9

Please upload reports for the commit 4f39ac9 to get more accurate results.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main     #692   +/-   ##
=======================================
  Coverage   61.74%   61.74%           
=======================================
  Files          27       27           
  Lines        1767     1767           
=======================================
  Hits         1091     1091           
  Misses        510      510           
  Partials      166      166           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@red-hat-konflux red-hat-konflux Bot changed the title NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.10.1 NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.10.1 - autoclosed Mar 2, 2026
@red-hat-konflux red-hat-konflux Bot closed this Mar 2, 2026
@red-hat-konflux red-hat-konflux Bot deleted the konflux/mintmaker/main/linter branch March 2, 2026 00:11
@red-hat-konflux red-hat-konflux Bot changed the title NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.10.1 - autoclosed NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.10.1 Mar 2, 2026
@red-hat-konflux red-hat-konflux Bot reopened this Mar 2, 2026
@red-hat-konflux red-hat-konflux Bot force-pushed the konflux/mintmaker/main/linter branch 2 times, most recently from dd45bc8 to 1a02523 Compare March 2, 2026 04:15
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Mar 2, 2026
@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Mar 2, 2026

New changes are detected. LGTM label has been removed.

@red-hat-konflux red-hat-konflux Bot changed the title NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.10.1 NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.10.1 - autoclosed Mar 2, 2026
@red-hat-konflux red-hat-konflux Bot closed this Mar 2, 2026
@red-hat-konflux red-hat-konflux Bot changed the title NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.10.1 - autoclosed NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.10.1 Mar 2, 2026
@red-hat-konflux red-hat-konflux Bot reopened this Mar 2, 2026
@red-hat-konflux red-hat-konflux Bot force-pushed the konflux/mintmaker/main/linter branch 3 times, most recently from 64c3f16 to 730c8d4 Compare March 6, 2026 16:05
@red-hat-konflux red-hat-konflux Bot changed the title NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.10.1 NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.11.1 Mar 6, 2026
@red-hat-konflux red-hat-konflux Bot changed the title NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.11.1 NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.11.1 - autoclosed Mar 7, 2026
@red-hat-konflux red-hat-konflux Bot force-pushed the konflux/mintmaker/main/linter branch 2 times, most recently from e2eebe9 to d66f421 Compare March 14, 2026 16:19
@red-hat-konflux red-hat-konflux Bot changed the title NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.11.3 NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.11.3 - autoclosed Mar 18, 2026
@red-hat-konflux red-hat-konflux Bot closed this Mar 18, 2026
@red-hat-konflux red-hat-konflux Bot changed the title NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.11.3 - autoclosed NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.11.3 Mar 18, 2026
@red-hat-konflux red-hat-konflux Bot reopened this Mar 18, 2026
@red-hat-konflux red-hat-konflux Bot force-pushed the konflux/mintmaker/main/linter branch 2 times, most recently from d66f421 to a613ac8 Compare March 18, 2026 16:07
@red-hat-konflux red-hat-konflux Bot changed the title NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.11.3 NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.11.3 - autoclosed Mar 19, 2026
@red-hat-konflux red-hat-konflux Bot closed this Mar 19, 2026
@red-hat-konflux red-hat-konflux Bot changed the title NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.11.3 - autoclosed NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.11.3 Mar 19, 2026
@red-hat-konflux red-hat-konflux Bot reopened this Mar 19, 2026
@red-hat-konflux red-hat-konflux Bot force-pushed the konflux/mintmaker/main/linter branch 2 times, most recently from a613ac8 to e2cfa9d Compare March 19, 2026 20:19
@openshift-ci openshift-ci Bot removed the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 19, 2026
@red-hat-konflux red-hat-konflux Bot changed the title NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.11.3 NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.11.3 - autoclosed Mar 21, 2026
@red-hat-konflux red-hat-konflux Bot closed this Mar 21, 2026
@red-hat-konflux red-hat-konflux Bot changed the title NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.11.3 - autoclosed NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.11.3 Mar 21, 2026
@red-hat-konflux red-hat-konflux Bot reopened this Mar 21, 2026
@red-hat-konflux red-hat-konflux Bot force-pushed the konflux/mintmaker/main/linter branch 2 times, most recently from e2cfa9d to e915fb5 Compare March 21, 2026 16:14
@red-hat-konflux red-hat-konflux Bot changed the title NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.11.3 NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.11.3 - autoclosed Mar 22, 2026
@red-hat-konflux red-hat-konflux Bot closed this Mar 22, 2026
@red-hat-konflux red-hat-konflux Bot changed the title NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.11.3 - autoclosed NO-ISSUE: Update module github.com/golangci/golangci-lint to v2.11.3 Mar 22, 2026
@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Mar 28, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: red-hat-konflux[bot]
Once this PR has been reviewed and has the lgtm label, please assign omertuc for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 28, 2026

Note

Reviews paused

It 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 reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Updated the Docker build stage to install golangci-lint version v2.12.1 (previously v2.8.0); installer target and subsequent go install invocations for goimports@v0.34.0 and mockgen@v0.6.0 are unchanged.

Changes

Cohort / File(s) Summary
Version Update
Dockerfile.image-service-build
Changed golangci-lint installer version from v2.8.0 to v2.12.1. Installer command and go install steps for goimports@v0.34.0 and mockgen@v0.6.0 remain unchanged.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

🚥 Pre-merge checks | ✅ 11 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Title check ⚠️ Warning PR title states version v2.12.2 but the summary indicates v2.12.1 was installed in the Dockerfile, creating a mismatch. Update the PR title to reflect the actual version being installed, or clarify if v2.12.2 is the intended target version.
✅ Passed checks (11 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed The PR only modifies Dockerfile.image-service-build to update golangci-lint version; no test files or Ginkgo test definitions are changed.
Test Structure And Quality ✅ Passed This PR modifies only the Dockerfile.image-service-build file to update golangci-lint version; no Ginkgo test code or test files were changed.
Microshift Test Compatibility ✅ Passed Repository contains Ginkgo-based unit tests for image service components, not e2e cluster tests. Tests do not interact with OpenShift or Kubernetes cluster APIs.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR only updates golangci-lint version in Dockerfile; no new Ginkgo e2e tests are added, making SNO compatibility check not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed PR only updates golangci-lint version in Dockerfile, no topology-aware scheduling changes introduced.
Ote Binary Stdout Contract ✅ Passed PR only updates golangci-lint version in Dockerfile, making no changes to application code, so OTE Binary Stdout Contract check does not apply.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PR only updates golangci-lint version in Dockerfile; no e2e test code changes present.
Description check ✅ Passed The PR description provides comprehensive release notes, context for the update, and includes the required checklist template with clear information.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch konflux/mintmaker/main/linter

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@Dockerfile.image-service-build`:
- Line 5: Replace the unofficial GitHub raw installer URL in the Dockerfile RUN
that invokes golangci-lint (the line using curl and sh with version v2.11.4)
with the official installer URL https://golangci-lint.run/install.sh, leaving
the existing flags (-sSfL ... sh -s -- -b $(go env GOPATH)/bin v2.11.4)
unchanged so version pinning and installation destination remain the same.
🪄 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: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 2ffd4cd8-c6d0-42e7-8973-756b3b347f3b

📥 Commits

Reviewing files that changed from the base of the PR and between e35e6a1 and c5808ad.

📒 Files selected for processing (1)
  • Dockerfile.image-service-build

Comment thread Dockerfile.image-service-build Outdated
ENV GOFLAGS=""

RUN curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.8.0 && \
RUN curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.11.4 && \
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🌐 Web query:

golangci-lint GitHub install.sh v2.11.4 tag pinned reference

💡 Result:

To install golangci-lint v2.11.4 using the official install.sh, you pin the release tag by passing it as the last argument to the script. Command (install into $GOPATH/bin): curl -sSfL https://golangci-lint.run/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.11.4 Command (install into ./bin): curl -sSfL https://golangci-lint.run/install.sh | sh -s v2.11.4 Why this pins the version: - The install.sh script accepts an optional argument and uses it to resolve the corresponding GitHub release (tag_to_version / github_release in the script), then downloads the release assets from GitHub releases/download for that tag. - The official docs explicitly show passing v2.11.4 to install.sh. The relevant release tag exists on GitHub: v2.11.4.

Citations:


🌐 Web query:

golangci-lint official installation verification checksum signed releases

💡 Result:

golangci-lint official installation verification (2026-04-28) 1) Official installation method and what it verifies - The official binary installer is provided as a shell script: https://golangci-lint.run/install.sh (documented in the official “Local Installation” docs). - That installer downloads two artifacts for the chosen version from GitHub Releases: the tarball/zip itself and a checksums file named like golangci-lint--checksums.txt. - It verifies the downloaded tarball/zip by computing its SHA-256 hash and comparing it against the expected SHA-256 value found in the downloaded checksums file. The install script will fail if the hash does not match. Evidence: installer docs and the install.sh implementation show it downloads TARBALL and CHECKSUM and runs hash_sha256_verify before extracting/installing. 2) Signed releases / signature verification - golangci-lint GitHub releases include checksums files (e.g., golangci-lint-2.11.4-checksums.txt is listed as a release asset for v2.11.4). - However, from the authoritative sources found here, there is no documented/implemented user-facing verification step in the install script for cryptographic signatures (e.g., cosign signature files) of the release binaries themselves. - There are in-repo proposals/PRs about using cosign to sign release artifacts and about verifying installer downloads with cosign, but the evidence available here does not show that the current public install.sh verifies cosign signatures. - What is verifiable from the sources: Git tags/commits are GPG-verified on GitHub (e.g., v2.11.4 tag is “Verified” and “This commit was signed with the committer’s verified signature”), which authenticates the repository state/commit, but it is not the same thing as verifying a cosign signature on the downloadable binary artifacts. 3) Practical “verification” you can do today (checksum-based) To independently verify a downloaded release archive the same way the official installer does: - Download the release archive for your platform and golangci-lint--checksums.txt from the official GitHub Release. - Verify the SHA-256 of the archive matches the line in the checksums file (the checksums file contains entries keyed by the archive filename). Example (replace version + filename): - wget <TARBALL_URL> - wget <CHECKSUMS_URL> - grep '<TARBALL_FILENAME>' <CHECKSUMS_FILE> | cut -d' ' -f1 # expected sha - sha256sum <TARBALL_FILENAME> # computed sha - compare expected vs computed (must match) Evidence for checksum verification logic: install.sh’s hash_sha256_verify and execute show the exact flow (download tarball + checksum file, then verify sha256 before extracting). Bottom line - Official verification provided by the install script is SHA-256 checksum verification against the release’s checksums file. - The evidence found here does not confirm that the current official install process verifies cryptographic signatures (such as cosign signatures) for the release binaries; it may be discussed in PRs, and repository commits/tags are verified, but artifact-signature verification is not shown in the current install.sh logic.

Citations:


🏁 Script executed:

#!/bin/bash
# Check the golangci-lint repository structure for install.sh availability
# and verify v2.11.4 is a valid tag

# Search for information about golangci-lint releases and installation methods
echo "=== Checking golangci-lint GitHub releases and tags ==="
curl -s https://api.github.com/repos/golangci/golangci-lint/releases/tags/v2.11.4 | jq -r '.tag_name, .assets[].name' 2>/dev/null | head -20

echo ""
echo "=== Checking available installation methods in recent releases ==="
curl -s https://api.github.com/repos/golangci/golangci-lint/releases?per_page=5 | jq -r '.[0] | .tag_name, .assets[].name' 2>/dev/null

Repository: openshift/assisted-image-service

Length of output: 2954


Use the official golangci-lint installer distribution instead of the GitHub master branch.

The Dockerfile currently fetches install.sh from https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh, which is an unofficial distribution point. The official installer is available at https://golangci-lint.run/install.sh and is the recommended distribution method. The official installer already verifies downloaded artifacts via SHA-256 checksums (golangci-lint-2.11.4-checksums.txt), so integrity verification is automatic—no additional checksum validation step is needed.

The version pinning via v2.11.4 argument is already correct and will resolve to the corresponding GitHub release. Simply switch to the official distribution URL to ensure consistent, maintained installation behavior:

Suggested fix
-RUN curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.11.4 && \
+RUN curl -sSfL https://golangci-lint.run/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.11.4 && \
     go install golang.org/x/tools/cmd/goimports@v0.34.0 && \
     go install go.uber.org/mock/mockgen@v0.6.0
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Dockerfile.image-service-build` at line 5, Replace the unofficial GitHub raw
installer URL in the Dockerfile RUN that invokes golangci-lint (the line using
curl and sh with version v2.11.4) with the official installer URL
https://golangci-lint.run/install.sh, leaving the existing flags (-sSfL ... sh
-s -- -b $(go env GOPATH)/bin v2.11.4) unchanged so version pinning and
installation destination remain the same.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

♻️ Duplicate comments (1)
Dockerfile.image-service-build (1)

5-5: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Use the supported golangci-lint installer endpoint.

This still pulls install.sh from raw.githubusercontent.com/.../master, which is a moving target. Please switch to the official installer URL so the build stays on the supported distribution path while keeping the pinned v2.12.1 argument.

Suggested fix
-RUN curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.12.1 && \
+RUN curl -sSfL https://golangci-lint.run/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.12.1 && \
     go install golang.org/x/tools/cmd/goimports@v0.34.0 && \
     go install go.uber.org/mock/mockgen@v0.6.0

To verify the endpoint and installed version, run:

#!/bin/bash
set -euo pipefail

rg -n 'raw\.githubusercontent\.com/golangci/golangci-lint/master/install\.sh|golangci-lint\.run/install\.sh' Dockerfile.image-service-build

curl -fsSL https://golangci-lint.run/docs/welcome/install/local/ | rg -n 'install\.sh|golangci-lint\.run/install\.sh'
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Dockerfile.image-service-build` at line 5, The Dockerfile RUN line currently
downloads the installer from raw.githubusercontent.com (the moving master
branch); update that to use the official golangci-lint installer endpoint
(https://golangci-lint.run/install.sh) while preserving the pinned version
argument v2.12.1 and the same install destination ($(go env GOPATH)/bin) used in
the RUN command; modify the RUN invocation that invokes curl and sh so it uses
golangci-lint.run/install.sh and still passes the "-s -- -b $(go env GOPATH)/bin
v2.12.1" arguments to sh (refer to the RUN line in
Dockerfile.image-service-build to locate the change).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@Dockerfile.image-service-build`:
- Line 5: The Dockerfile RUN line currently downloads the installer from
raw.githubusercontent.com (the moving master branch); update that to use the
official golangci-lint installer endpoint (https://golangci-lint.run/install.sh)
while preserving the pinned version argument v2.12.1 and the same install
destination ($(go env GOPATH)/bin) used in the RUN command; modify the RUN
invocation that invokes curl and sh so it uses golangci-lint.run/install.sh and
still passes the "-s -- -b $(go env GOPATH)/bin v2.12.1" arguments to sh (refer
to the RUN line in Dockerfile.image-service-build to locate the change).

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 79415c63-6859-4b2b-981f-22c107d25e5f

📥 Commits

Reviewing files that changed from the base of the PR and between f1258ae and 8676436.

📒 Files selected for processing (1)
  • Dockerfile.image-service-build

Signed-off-by: red-hat-konflux <126015336+red-hat-konflux[bot]@users.noreply.github.com>
@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented May 17, 2026

@red-hat-konflux[bot]: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/edge-lint 4f39ac9 link true /test edge-lint
ci/prow/edge-images 4f39ac9 link true /test edge-images
ci/prow/edge-e2e-metal-assisted-4-22 4f39ac9 link true /test edge-e2e-metal-assisted-4-22
ci/prow/edge-test 4f39ac9 link true /test edge-test
ci/prow/edge-e2e-ai-operator-ztp 4f39ac9 link true /test edge-e2e-ai-operator-ztp

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. linter size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant