Skip to content

Go update to 1.26.3 - #92

Merged
petrpinkas merged 2 commits into
mainfrom
go-version-update
Jul 28, 2026
Merged

Go update to 1.26.3#92
petrpinkas merged 2 commits into
mainfrom
go-version-update

Conversation

@petrpinkas

Copy link
Copy Markdown
Member

No description provided.

@qodo-for-securesign

Copy link
Copy Markdown

PR Summary by Qodo

Bump Go version to 1.26.3 and refresh golangci-lint tooling

⚙️ Configuration changes 🕐 10-20 Minutes

Grey Divider

AI Description

• Update CI to use a newer golangci-lint GitHub Action release.
• Disable goconst linter due to high false-positive rate in this repo.
• Raise the module Go version to 1.26.3 to align builds with the updated toolchain.
Diagram

graph TD
  CI["GitHub Actions CI"] --> WF[".github/workflows/ci.yml"] --> LA["golangci-lint-action v2.12.2"] --> LINT["golangci-lint"] --> LCFG[".golangci.yml"]
  CI --> GO["Go toolchain"] --> GMOD["go.mod (Go 1.26.3)"]
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Use `go 1.26` + `toolchain go1.26.3` in go.mod
  • ➕ Pins the exact toolchain patch version without overloading the go language version directive
  • ➕ Aligns with Go’s intended separation of language version vs toolchain selection
  • ➖ Requires ensuring the repository/tooling supports the toolchain directive (Go 1.21+)
  • ➖ Small change to developer workflow expectations if they rely on auto-toolchain downloads
2. Test multiple Go versions in CI (matrix)
  • ➕ Reduces risk of ecosystem breakage by validating compatibility across supported Go versions
  • ➕ Catches regressions for contributors using older Go installs
  • ➖ Increases CI time/cost and workflow complexity
  • ➖ May require decisions on supported version policy and deprecations

Recommendation: The PR’s approach is fine for a straightforward tooling bump, but consider switching to go 1.26 plus toolchain go1.26.3 if the intent is to pin the patch release specifically; this keeps the go directive focused on language semantics while still standardizing the exact compiler/toolchain used.

Files changed (3) +3 / -3

Other (3) +3 / -3
ci.ymlBump golangci-lint GitHub Action to v2.12.2 +1/-1

Bump golangci-lint GitHub Action to v2.12.2

• Updates the CI workflow to use a newer golangci-lint-action version. This refreshes the lint runner in CI while keeping existing invocation arguments unchanged.

.github/workflows/ci.yml

.golangci.ymlDisable goconst linter due to false positives +1/-1

Disable goconst linter due to false positives

• Comments out the goconst linter in the enabled set and documents the rationale. This reduces noisy findings for short repeated strings in the codebase.

.golangci.yml

go.modRaise module Go version to 1.26.3 +1/-1

Raise module Go version to 1.26.3

• Updates the go.mod 'go' directive from 1.24 to 1.26.3 to align builds with the newer Go version. This affects the language/version expectations used by module tooling and CI.

go.mod

@qodo-for-securesign

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (0) 📜 Skill insights (0)

Grey Divider


Informational

1. Stale goconst exclusion rule 🐞 Bug ⚙ Maintainability
Description
.golangci.yml disables goconst but still lists goconst in linters.exclusions.rules, which is
now inert and can mislead maintainers about what lint coverage is actually active.
Code

.golangci.yml[8]

+    # - goconst  # disabled: too many false positives on short strings like "version" and "testcli"
Relevance

⭐⭐ Medium

No prior reviews on stale golangci exclusions; config actively curated in PR67, so cleanup likely
but unproven.

PR-#67

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The PR disables goconst in the enabled linter list, but the same config file still references
goconst in an exclusions rule, making that portion of the configuration ineffective while
goconst stays disabled.

.golangci.yml[3-33]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`.golangci.yml` comments out (disables) the `goconst` linter, but the config still contains an exclusion rule that references `goconst`. While harmless, this rule is effectively dead while `goconst` remains disabled and can confuse future edits/re-enablement.

## Issue Context
This was introduced by the PR change that disabled `goconst` in the enabled linter list.

## Fix Focus Areas
- .golangci.yml[5-33]

### Suggested fix options
- **Option A (preferred):** Remove `goconst` from the `linters.exclusions.rules` block since it is disabled.
- **Option B:** Keep the exclusion but add a short comment near the rule explaining it is intentionally retained for possible future re-enablement of `goconst`.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Qodo Logo

@petrpinkas

Copy link
Copy Markdown
Member Author

/retest

@petrpinkas
petrpinkas merged commit c8e8d76 into main Jul 28, 2026
6 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.

2 participants