You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Refs the v1.6.0 release run (no issue closed by this PR). Sibling of goceleris/celeris#1102.
The govulncheck job of test.yml fails on main since the vulnerability database update: GO-2026-6809 (crypto/x509), corrected in go1.27.3, reachable on the root module through validation/rfc_scrape.go:405 and on validation/refapp/auth_jwt_csrf (exit 3 with go1.27.2). This moves the toolchain from 1.27.2 to 1.27.3.
WHAT THIS CHANGES FOR THE CLUSTER
The cluster's Go binaries are not built by ansible: ansible/ has no Go role (roles are bun, c, cpp, dbservices, dotnet, java, node, python, rust, zig) and no Go version variable. The benchmark, race, checkptr, nightly, weekend and PR-tier workflows build with actions/setup-go on the runner and ship the result, so the go-version values here ARE the toolchain the cluster benchmarks are built with, and this PR changes them to 1.27.3. In addition, celeris-stress.yml (4 steps) and celeris-stress-cluster.yml use go-version-file: go.mod / celeris/go.mod: after this merges the probatorium side of those stress/soak runs resolves to 1.27.3 through the root go.mod, and the celeris side follows the checked-out celeris go.mod (1.27.3 once celeris#1102 is in the checkout). The final-sha benchmarks and soak must therefore be built with 1.27.3, same as celeris; merge this before dispatching them. No playbook and no host-affecting file is touched.
Changes (version strings only, 37 files)
go directive 1.27.2 -> 1.27.3 in 28 go.mod files: root, .github/tools, servers/{celeris,chi,echo,fasthttp,fiber,gin,gnet,gorilla_ws,hertz,iris,nbio,stdhttp}, validation/properties/fieldguard, validation/refapp/{auth_jwt_csrf,auth_session_ratelimit,driver_memcached,driver_postgres,driver_redis,internal/debugvars,kitchen_sink,observability,static_swagger_proxy}, and the four testdata fixtures (tools/stresstally/testdata/samplemod, validation/remote/testdata/splicedemo, validation/testdata/{checkptrdemo,racedemo}), as the earlier 1.27.2 bump (chore(deps): go 1.27.2 in every Go module, dependencies at latest #514) did.
every go-version: "1.27.2" in .github/workflows (benchmark-tier, coverage, lint, matrix-{checkptr,nightly,pr,race,weekend}-tier, test): 16 occurrences.
Not changed: go.sum files (go mod tidy leaves the tree identical in all 28 modules); the comment in lint.yml that cites "Go 1.27.2's export data" (historic reason for the golangci-lint floor); the go version go1.27.0 strings in tools/stresstally test fixtures (synthetic host output).
Verification
Run in golang:1.27.3 linux/arm64 (Docker, lane-local caches), with the repo's own CI invocations:
go build ./... && go vet ./... clean on the root, every Go module under servers/, every validation/refapp/* and validation/properties/fieldguard
go test -count=1 -race ./... and -tags mage on the root module: all packages ok. Two environment artifacts of my container, not of the change: the image has no jq (tools/stresstally shell-script tests need it, the CI runner has it) and I ran as root (one stresstally test refuses to run as root because root can delete read-only module caches). With jq installed and a non-root user, tools/stresstally passes under both tag sets. A validation/remote splice-demo test needed git safe.directory for the non-root user and then passed -count=5 -race.
validation/refapp/internal/debugvarsgo test -race ok
mage -compile ok (mage v1.17.2 from the tools module)
govulncheck ./... (v1.8.0, the CI-pinned scanner) over the 11 modules the CI job scans: all exit 0. The root module reports 0 affected, and one advisory in a required module that the code does not call (exit 0, so the job passes; I did not identify which advisory it is).
actionlint (tools module, v1.7.12) clean
OWED: the CI run on this PR; the cluster itself (nothing dispatched).
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.
📓 Path-based instructions: 7A job that runs on the self-hosted bench cluster (runs-on includes self-hosted, celeris-cluster or msr1) belongs to concurrency group `matrix-tier-cluster` with cancel-in-progress: false.
⚙️ CodeRabbit configuration file
Files:
.github/workflows/benchmark-tier.yml
.github/workflows/matrix-nightly-tier.yml
.github/workflows/matrix-pr-tier.yml
.github/workflows/matrix-weekend-tier.yml
.github/workflows/matrix-checkptr-tier.yml
.github/workflows/lint.yml
.github/workflows/coverage.yml
.github/workflows/matrix-race-tier.yml
.github/workflows/test.yml
This is the validation oracle.
⚙️ CodeRabbit configuration file
Files:
validation/refapp/driver_postgres/go.mod
validation/refapp/auth_jwt_csrf/go.mod
validation/refapp/driver_redis/go.mod
validation/refapp/kitchen_sink/go.mod
validation/refapp/driver_memcached/go.mod
validation/refapp/observability/go.mod
validation/properties/fieldguard/go.mod
validation/refapp/internal/debugvars/go.mod
validation/refapp/auth_session_ratelimit/go.mod
validation/refapp/static_swagger_proxy/go.mod
Competitor adapters for the benchmark.
⚙️ CodeRabbit configuration file
Files:
servers/fiber/go.mod
servers/gnet/go.mod
servers/gorilla_ws/go.mod
servers/nbio/go.mod
servers/echo/go.mod
servers/celeris/go.mod
servers/stdhttp/go.mod
servers/hertz/go.mod
servers/chi/go.mod
servers/fasthttp/go.mod
servers/iris/go.mod
servers/gin/go.mod
Negative control for changed checks: PASS if the pull request changes no file under validation/ or report/, no mage_*.go file and no workflow_*_test.go file.
📄 CodeRabbit inference engine (Custom checks)
Files:
validation/refapp/driver_postgres/go.mod
validation/refapp/auth_jwt_csrf/go.mod
validation/refapp/driver_redis/go.mod
validation/refapp/kitchen_sink/go.mod
validation/refapp/driver_memcached/go.mod
validation/refapp/observability/go.mod
validation/properties/fieldguard/go.mod
validation/refapp/internal/debugvars/go.mod
validation/refapp/auth_session_ratelimit/go.mod
validation/refapp/static_swagger_proxy/go.mod
Source excerpt: The PR Validation workflow (`.github/workflows/matrix-pr-tier.yml`) executes on the self-hosted bench cluster, so it does not run on every push.
📄 CodeRabbit inference engine (CONTRIBUTING.md)
Files:
.github/tools/go.mod
.github/workflows/benchmark-tier.yml
.github/workflows/matrix-nightly-tier.yml
.github/workflows/matrix-pr-tier.yml
.github/workflows/matrix-weekend-tier.yml
.github/workflows/matrix-checkptr-tier.yml
.github/workflows/lint.yml
.github/workflows/coverage.yml
.github/workflows/matrix-race-tier.yml
.github/workflows/test.yml
Source excerpt: The Test and Lint workflows run these; tick what you ran locally: [ ] `go test -race -count=1 ./...`
Source excerpt: The Test and Lint workflows run these; tick what you ran locally: [ ] If a workflow changed: `actionlint`, and a gate's new or changed check is shown to pass on good input and fail on bad
Learnt from: CR
Repo: goceleris/probatorium PR: 0
File: .github/PULL_REQUEST_TEMPLATE.md:0-0
Timestamp: 2026-10-13T08:27:15.437Z
Learning: Applies to validation/refapp/auth_jwt_csrf/go.mod : Source excerpt:
## Test Plan
The Test and Lint workflows run these; tick what you ran locally:
- [ ] `go test -race -count=1 ./...` in the root module, and in every changed module under `servers/` or `validation/refapp/`
Learnt from: CR
Repo: goceleris/probatorium PR: 0
File: .github/PULL_REQUEST_TEMPLATE.md:0-0
Timestamp: 2026-10-13T08:27:15.437Z
Learning: Source excerpt:
## Test Plan
The Test and Lint workflows run these; tick what you ran locally:
- [ ] `go vet ./...`, `golangci-lint run` and `gofmt -l .` are clean, and `mage -compile /tmp/mage-check` succeeds
Learnt from: CR
Repo: goceleris/probatorium PR: 0
File: .github/PULL_REQUEST_TEMPLATE.md:0-0
Timestamp: 2026-10-13T08:27:15.437Z
Learning: Applies to validation/refapp/static_swagger_proxy/go.mod : Source excerpt:
## Test Plan
The Test and Lint workflows run these; tick what you ran locally:
- [ ] `go test -race -count=1 ./...` in the root module, and in every changed module under `servers/` or `validation/refapp/`
Learnt from: CR
Repo: goceleris/probatorium PR: 0
File: .github/PULL_REQUEST_TEMPLATE.md:0-0
Timestamp: 2026-10-13T08:27:15.437Z
Learning: Applies to validation/refapp/driver_memcached/go.mod : Source excerpt:
## Test Plan
The Test and Lint workflows run these; tick what you ran locally:
- [ ] `go test -race -count=1 ./...` in the root module, and in every changed module under `servers/` or `validation/refapp/`
Learnt from: CR
Repo: goceleris/probatorium PR: 0
File: .github/PULL_REQUEST_TEMPLATE.md:0-0
Timestamp: 2026-10-13T08:27:15.437Z
Learning: Applies to validation/refapp/driver_postgres/go.mod : Source excerpt:
## Test Plan
The Test and Lint workflows run these; tick what you ran locally:
- [ ] `go test -race -count=1 ./...` in the root module, and in every changed module under `servers/` or `validation/refapp/`
Learnt from: CR
Repo: goceleris/probatorium PR: 0
File: CONTRIBUTING.md:0-0
Timestamp: 2026-10-13T08:27:12.013Z
Learning: Source excerpt:
# Contributing
## How changes get merged
The same rule applies across the goceleris repositories:
- Every change lands through a pull request against `main`; nothing is pushed to `main` directly.
Learnt from: CR
Repo: goceleris/probatorium PR: 0
File: .github/PULL_REQUEST_TEMPLATE.md:0-0
Timestamp: 2026-10-13T08:27:15.437Z
Learning: Applies to .github/workflows/matrix-weekend-tier.yml : Source excerpt:
## Test Plan
The Test and Lint workflows run these; tick what you ran locally:
- [ ] If a workflow changed: `actionlint`, and a gate's new or changed check is shown to pass on good input and fail on bad
Learnt from: CR
Repo: goceleris/probatorium PR: 0
File: .github/PULL_REQUEST_TEMPLATE.md:0-0
Timestamp: 2026-10-13T08:27:15.437Z
Learning: Applies to servers/stdhttp/go.mod : Source excerpt:
## Test Plan
The Test and Lint workflows run these; tick what you ran locally:
- [ ] `go test -race -count=1 ./...` in the root module, and in every changed module under `servers/` or `validation/refapp/`
Learnt from: CR
Repo: goceleris/probatorium PR: 0
File: CONTRIBUTING.md:0-0
Timestamp: 2026-10-13T08:27:12.013Z
Learning: Source excerpt:
# Contributing
## PRs
One wave per branch / PR. Branch naming: `feat/<short-slug>`, `fix/<short-slug>`. Each PR description should reference the wave issue it closes.
Learnt from: CR
Repo: goceleris/probatorium PR: 0
File: .github/PULL_REQUEST_TEMPLATE.md:0-0
Timestamp: 2026-10-13T08:27:15.437Z
Learning: Applies to .github/workflows/matrix-nightly-tier.yml : Source excerpt:
## Test Plan
The Test and Lint workflows run these; tick what you ran locally:
- [ ] If a workflow changed: `actionlint`, and a gate's new or changed check is shown to pass on good input and fail on bad
📚 Learning: 2026-10-13T08:27:15.437Z
Learnt from: CR
Repo: goceleris/probatorium PR: 0
File: .github/PULL_REQUEST_TEMPLATE.md:0-0
Timestamp: 2026-10-13T08:27:15.437Z
Learning: Applies to .github/workflows/coverage.yml : Source excerpt:
## Test Plan
The Test and Lint workflows run these; tick what you ran locally:
- [ ] If a workflow changed: `actionlint`, and a gate's new or changed check is shown to pass on good input and fail on bad
Applied to files:
.github/workflows/coverage.yml
📚 Learning: 2026-10-13T08:27:15.437Z
Learnt from: CR
Repo: goceleris/probatorium PR: 0
File: .github/PULL_REQUEST_TEMPLATE.md:0-0
Timestamp: 2026-10-13T08:27:15.437Z
Learning: Applies to .github/workflows/matrix-race-tier.yml : Source excerpt:
## Test Plan
The Test and Lint workflows run these; tick what you ran locally:
- [ ] If a workflow changed: `actionlint`, and a gate's new or changed check is shown to pass on good input and fail on bad
Inspected commit 2f55224 (main), which already declares Go 1.27.3 in the root module and CI configuration. No cross-repository API changes were found. [::goceleris/celeris::go.mod:3] [::goceleris/celeris::.github/workflows/ci.yml:32]
goceleris/loadgen
Inspected the branch for open PR #115 at commit b1fc357. Its root module, tools module, workflows, and integration test-server module all already use Go 1.27.3, so the celeris toolchain bump is aligned with this downstream repository. [::goceleris/loadgen::go.mod:3] [::goceleris/loadgen::.github/workflows/ci.yml:22] [::goceleris/loadgen::.github/tools/go.mod:8]
The integration test server separately pins released celeris v1.5.11; no changed celeris API or interface is consumed there. [::goceleris/loadgen::internal/integrationtest/testserver/go.mod:3-5]
📝 Summary
Summary by CodeRabbit
Chores
Updated the project and validation components to require Go 1.27.3.
Aligned automated benchmark, coverage, lint, testing, and validation workflows with Go 1.27.3.
Maintained consistent toolchain usage across supported server implementations and development modules.
Go version declarations changed from 1.27.2 to 1.27.3 across module files and GitHub Actions workflows.
Changes: Go version alignment
Layer / File(s)
Summary
Module Go directives .github/tools/go.mod, go.mod, servers/*/go.mod, validation/properties/fieldguard/go.mod, validation/refapp/.../go.mod
The Go version directive changed to 1.27.3 in the root, tools, server, and validation modules.
Workflow Go toolchains .github/workflows/{benchmark-tier,coverage,lint,matrix-*,test}.yml
Workflow jobs now configure Go 1.27.3 for benchmark, coverage, lint, matrix, and test tasks.
The Go version update is consistently applied across modules and CI workflows, with no identified merge-blocking risk.
Pre-merge checks: 5
Check name
Status
Explanation
Title check
The title uses the required conventional-commit format with type ci and accurately describes the Go 1.27.3 toolchain update and vulnerability reference.
Description check
The description directly explains the Go toolchain update, vulnerability remediation, affected workflows and modules, verification, and remaining CI status.
Linked Issues check
Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check
Check skipped because no linked issues were found for this pull request.
Negative Control For Changed Checks
Validation paths changed, but only their go.mod version directives changed; no check implementation changed. The description names the relevant govulncheck negative control: GO-2026-6809 causes exit 3…
Full details: Negative Control For Changed Checks
Explanation
Validation paths changed, but only their go.mod version directives changed; no check implementation changed. The description names the relevant govulncheck negative control: GO-2026-6809 causes exit 3 with Go 1.27.2, while govulncheck exits 0 with Go 1.27.3. The diff contains no report/, mage_.go, or workflow__test.go changes.
Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs the v1.6.0 release run (no issue closed by this PR). Sibling of goceleris/celeris#1102.
The
govulncheckjob oftest.ymlfails onmainsince the vulnerability database update: GO-2026-6809 (crypto/x509), corrected in go1.27.3, reachable on the root module throughvalidation/rfc_scrape.go:405and onvalidation/refapp/auth_jwt_csrf(exit 3 with go1.27.2). This moves the toolchain from 1.27.2 to 1.27.3.WHAT THIS CHANGES FOR THE CLUSTER
The cluster's Go binaries are not built by ansible:
ansible/has no Go role (roles are bun, c, cpp, dbservices, dotnet, java, node, python, rust, zig) and no Go version variable. The benchmark, race, checkptr, nightly, weekend and PR-tier workflows build withactions/setup-goon the runner and ship the result, so thego-versionvalues here ARE the toolchain the cluster benchmarks are built with, and this PR changes them to 1.27.3. In addition,celeris-stress.yml(4 steps) andceleris-stress-cluster.ymlusego-version-file: go.mod/celeris/go.mod: after this merges the probatorium side of those stress/soak runs resolves to 1.27.3 through the rootgo.mod, and the celeris side follows the checked-out celerisgo.mod(1.27.3 once celeris#1102 is in the checkout). The final-sha benchmarks and soak must therefore be built with 1.27.3, same as celeris; merge this before dispatching them. No playbook and no host-affecting file is touched.Changes (version strings only, 37 files)
godirective 1.27.2 -> 1.27.3 in 28 go.mod files: root,.github/tools,servers/{celeris,chi,echo,fasthttp,fiber,gin,gnet,gorilla_ws,hertz,iris,nbio,stdhttp},validation/properties/fieldguard,validation/refapp/{auth_jwt_csrf,auth_session_ratelimit,driver_memcached,driver_postgres,driver_redis,internal/debugvars,kitchen_sink,observability,static_swagger_proxy}, and the four testdata fixtures (tools/stresstally/testdata/samplemod,validation/remote/testdata/splicedemo,validation/testdata/{checkptrdemo,racedemo}), as the earlier 1.27.2 bump (chore(deps): go 1.27.2 in every Go module, dependencies at latest #514) did.go-version: "1.27.2"in.github/workflows(benchmark-tier, coverage, lint, matrix-{checkptr,nightly,pr,race,weekend}-tier, test): 16 occurrences.Not changed: go.sum files (
go mod tidyleaves the tree identical in all 28 modules); the comment inlint.ymlthat cites "Go 1.27.2's export data" (historic reason for the golangci-lint floor); thego version go1.27.0strings intools/stresstallytest fixtures (synthetic host output).Verification
Run in
golang:1.27.3linux/arm64 (Docker, lane-local caches), with the repo's own CI invocations:go build ./... && go vet ./...clean on the root, every Go module underservers/, everyvalidation/refapp/*andvalidation/properties/fieldguardgo test -count=1 -race ./...and-tags mageon the root module: all packages ok. Two environment artifacts of my container, not of the change: the image has nojq(tools/stresstallyshell-script tests need it, the CI runner has it) and I ran as root (one stresstally test refuses to run as root because root can delete read-only module caches). Withjqinstalled and a non-root user,tools/stresstallypasses under both tag sets. Avalidation/remotesplice-demo test neededgit safe.directoryfor the non-root user and then passed-count=5 -race.validation/refapp/internal/debugvarsgo test -raceokmage -compileok (mage v1.17.2 from the tools module)govulncheck ./...(v1.8.0, the CI-pinned scanner) over the 11 modules the CI job scans: all exit 0. The root module reports 0 affected, and one advisory in a required module that the code does not call (exit 0, so the job passes; I did not identify which advisory it is).actionlint(tools module, v1.7.12) cleanOWED: the CI run on this PR; the cluster itself (nothing dispatched).