Skip to content

chore: upgrade go version to v1.26.1#4686

Merged
dejanzele merged 1 commit intomasterfrom
chore/upgrade-go-1.26
Mar 16, 2026
Merged

chore: upgrade go version to v1.26.1#4686
dejanzele merged 1 commit intomasterfrom
chore/upgrade-go-1.26

Conversation

@dejanzele
Copy link
Copy Markdown
Member

@dejanzele dejanzele commented Feb 11, 2026

What type of PR is this?

Chore

What this PR does / why we need it

Update Go version to v1.26.1 to benefit from latest performance optimizations and bug fixes.

Which issue(s) this PR fixes

Fixes #

Special notes for your reviewer

@nikola-jokic
Copy link
Copy Markdown
Contributor

We can now bump to 1.26.1

@dejanzele dejanzele changed the title chore: upgrade go version to v1.26.0 chore: upgrade go version to v1.26.1 Mar 16, 2026
Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com>
@dejanzele dejanzele force-pushed the chore/upgrade-go-1.26 branch from 6748cda to fe6884b Compare March 16, 2026 14:30
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Mar 16, 2026

Greptile Summary

This PR upgrades the project's Go toolchain from 1.25.5 to 1.26.1 across all relevant configuration files (go.mod, GitHub Actions, goreleaser, magefiles, Docker images, and documentation), and bumps golangci-lint from v2.5.0 to v2.9.0. It also includes an unrelated bug fix in the job submission validation logic.

Key changes:

  • go.mod toolchain updated to go 1.26.1; magefiles/go.go constraint correctly pinned to >= 1.26.1
  • golangci-lint bumped to v2.9.0 in both tools.yaml and .github/workflows/lint.yml
  • only-new-issues: true added to the lint workflow, which will silently suppress all pre-existing lint violations on future PRs — worth reconsidering as a long-term policy
  • Several version references (.github/actions/setup-go-cache/action.yml, .goreleaser.yml, magefiles/cmd.go) use "1.26" (minor-only) rather than "1.26.1", which is inconsistent with the exact pin in go.mod and could theoretically resolve to 1.26.0 in edge cases
  • A bug fix in internal/server/submit/validation/submit_request.go that corrects a duplicate Resources.Requests check to properly also check Resources.Limits — this is a valid fix but is unrelated to the Go version upgrade and changes the error message returned for containers that specify limits but not requests

Confidence Score: 4/5

  • This PR is safe to merge; all version bumps are consistent and the bundled bug fix is correct, with only minor concerns around version pinning granularity and the lint policy change.
  • The Go version upgrade is straightforward and well-coordinated across all config files. The bundled validation bug fix is logically correct. Two minor concerns lower the score slightly: (1) only-new-issues: true in the lint workflow permanently suppresses pre-existing violations, which may not be the intended long-term behaviour; (2) some version references use the minor-only "1.26" rather than "1.26.1", creating a subtle inconsistency with go.mod.
  • .github/workflows/lint.yml (policy change via only-new-issues: true) and internal/server/submit/validation/submit_request.go (unrelated bug fix bundled into chore PR)

Important Files Changed

Filename Overview
.github/actions/setup-go-cache/action.yml Updates default Go version from "1.25" to "1.26"; minor version only — inconsistent with the patch-pinned go 1.26.1 in go.mod.
.github/workflows/lint.yml Bumps golangci-lint to v2.9.0 and adds only-new-issues: true, which silences pre-existing lint violations going forward — a potentially unintended long-term policy change.
go.mod Updates Go toolchain directive from 1.25.5 to 1.26.1; straightforward and correct.
internal/server/submit/validation/submit_request.go Fixes a duplicate-check bug (Requests == 0 && Requests == 0Requests == 0 && Limits == 0); logically correct but changes error message semantics and is unrelated to the Go version bump.
magefiles/go.go Updates Go version constraint from >= 1.25.0 to >= 1.26.1; correctly pinned to the exact patch required by go.mod.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Developer / CI] -->|runs build| B{goCheck in magefiles/go.go}
    B -->|version >= 1.26.1?| C[Build proceeds]
    B -->|version < 1.26.1| D[Error: constraint not met]

    A -->|runs lint| E[golangci-lint v2.9.0]
    E -->|only-new-issues: true| F[Reports new issues only]
    E -.->|pre-existing issues| G[Silently ignored]

    C --> H{Target}
    H -->|local / CI| I[golang:1.26-bookworm Docker image]
    H -->|release| J[goreleaser: GOVERSION=go1.26]

    subgraph go.mod
        K[go 1.26.1 toolchain directive]
    end

    C --> K
Loading

Last reviewed commit: fe6884b

Comment thread internal/server/submit/validation/submit_request.go
Comment thread .github/actions/setup-go-cache/action.yml
}
for _, container := range armadaslices.Concatenate(spec.Containers, spec.InitContainers) {
if len(container.Resources.Requests) == 0 && len(container.Resources.Requests) == 0 {
if len(container.Resources.Requests) == 0 && len(container.Resources.Limits) == 0 {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Bundled bug fix changes validation semantics

The original code had a duplicate check — both sides of the && evaluated len(container.Resources.Requests) == 0, making the condition equivalent to just checking if Requests was empty. The fix correctly changes the second operand to check Limits.

However, this does change observable behavior. With the old (buggy) code, a container with no Requests but some Limits would fail with "container X has no resources specified". With the fix, the same input now passes this check and instead fails a few lines later (line 260) with "container X defines different resources for requests and limits". The end result is still validation failure, but the error message is different. This is almost certainly the correct behavior, but it's worth verifying that callers or tests don't assert on the specific error message from this path.

Additionally, this is a semantically meaningful bug fix bundled into a chore: upgrade go version PR. Consider whether this should be a separate commit or PR for cleaner history.

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!

Comment thread .github/workflows/lint.yml
Comment thread .github/actions/setup-go-cache/action.yml
@dejanzele dejanzele merged commit 99af903 into master Mar 16, 2026
19 checks passed
@dejanzele dejanzele deleted the chore/upgrade-go-1.26 branch March 16, 2026 14:53
nikola-jokic pushed a commit that referenced this pull request Mar 17, 2026
<!-- Thanks for sending a pull request! Here are some tips for you: -->

#### What type of PR is this?

Chore

#### What this PR does / why we need it

Update Go version to v1.26.1 to benefit from latest performance
optimizations and bug fixes.

#### Which issue(s) this PR fixes
<!--
*Automatically closes linked issue when PR is merged.
Usage: `Fixes #<issue number>`, or `Fixes (paste link of issue)`.
_If PR is about `failing-tests or flakes`, please post the related
issues/tests in a comment and do not use `Fixes`_*
-->
Fixes #

#### Special notes for your reviewer

Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com>
Signed-off-by: Nikola Jokic <jokicnikola07@gmail.com>
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