Skip to content

feat: support go 1.26 and 1.27 - #66

Merged
not-matthias merged 1 commit into
mainfrom
cod-3356-support-go-126-and-127
Aug 21, 2026
Merged

feat: support go 1.26 and 1.27#66
not-matthias merged 1 commit into
mainfrom
cod-3356-support-go-126-and-127

Conversation

@not-matthias

Copy link
Copy Markdown
Member

Adds a version-matched benchmark.go overlay for Go 1.26 (the upstream file is identical in 1.27) and extends the CI test matrix to 1.26.x and 1.27.x.

Closes COD-3356

@codspeed-hq

codspeed-hq Bot commented Aug 20, 2026

Copy link
Copy Markdown

Hooray! CodSpeed harness just leveled up!

The base and head of this comparison were measured with different runner settings, so their benchmark values are not directly comparable.

What changed between base and head:

  • CodSpeed runner v5 changed how benchmarks are measured (base 4.18.0 → head 5.0.2). View release notes
  • CodSpeed runner v5 changed how benchmarks are measured (base 4.18.0 → head 5.1.0). View release notes

Re-run the base with the same settings to get a valid performance comparison.


Comparing cod-3356-support-go-126-and-127 (93eb80f) with main (e9f4807)

Open in CodSpeed

@not-matthias
not-matthias marked this pull request as ready for review August 20, 2026 12:58
Add a version-matched benchmark.go overlay for Go 1.26 (identical upstream
file in 1.27) and extend the CI test matrix to 1.26.x and 1.27.x.
@not-matthias
not-matthias force-pushed the cod-3356-support-go-126-and-127 branch from 39a9bca to 93eb80f Compare August 20, 2026 12:58
@greptile-apps

greptile-apps Bot commented Aug 20, 2026

Copy link
Copy Markdown

Greptile Summary

Adds Go 1.26 and 1.27 support by introducing an instrumented Go 1.26 benchmark overlay and selecting it for newer toolchains.

  • Extends CI coverage through Go 1.27.
  • Adds and documents the Go 1.26 overlay and regeneration patch.
  • Updates runtime overlay selection based on the detected Go version.

Confidence Score: 5/5

The PR appears safe to merge with no concrete blocking or non-blocking defects identified.

The new overlay follows the existing instrumentation pattern, version selection routes the intended toolchains to it, and the expanded CI matrix exercises actual overlay-backed benchmark execution.

Important Files Changed

Filename Overview
go-runner/src/runner/overlay/mod.rs Selects the new Go 1.26 benchmark overlay for Go 1.26 and later while preserving existing selections for older toolchains.
go-runner/overlay/benchmark1.26.0.go Adds the Go 1.26 testing benchmark implementation with the established CodSpeed instrumentation lifecycle.
go-runner/overlay/benchmark1.26.0.patch Records the instrumentation delta from the upstream Go 1.26 benchmark implementation.
.github/workflows/ci.yml Expands the integration-test matrix to Go 1.26.x and 1.27.x.

Reviews (1): Last reviewed commit: 39a9bca | Re-trigger Greptile

@GuillaumeLagrange GuillaumeLagrange left a comment

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.

Olgtm

# This downloads unpatched Go benchmark.go files and diffs them against our patched versions

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
VERSIONS=("1.24.0" "1.25.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.

Shouldnt we also add 1.27 here?

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.

If it's just a matter of the patch being the same, wouldnt it be better handled eitehr with a symlink, or a small system that removes the pure coupling between patch file and go version in order for it to be understandable in the future?

@not-matthias
not-matthias merged commit 93eb80f into main Aug 21, 2026
23 checks passed
@not-matthias
not-matthias deleted the cod-3356-support-go-126-and-127 branch August 21, 2026 12:22
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