Skip to content

Only run tests on the latest two Go versions#700

Merged
lmars merged 1 commit intomainfrom
ci-go-versions
Mar 24, 2026
Merged

Only run tests on the latest two Go versions#700
lmars merged 1 commit intomainfrom
ci-go-versions

Conversation

@lmars
Copy link
Copy Markdown
Member

@lmars lmars commented Mar 24, 2026

The integration tests are quite heavyweight, and running them 10 times in parallel (i.e. JSON + msgpack across 5 Go versions) adds unnecessary load to the sandbox cluster.

Go has a backwards compatibility guarantee between versions, and also only officially supports the two latest Go versions, so it's sufficient for us to only test on the latest two Go versions in CI.

Summary by CodeRabbit

  • Chores
    • Updated continuous integration testing configuration to align with current Go version support standards.

The integration tests are quite heavyweight, and running them 10 times
in parallel (i.e. JSON + msgpack across 5 Go versions) adds unnecessary
load to the sandbox cluster.

Go has a backwards compatibility guarantee between versions, and also
only officially supports the two latest Go versions, so it's sufficient
for us to only test on the latest two Go versions in CI.

Signed-off-by: Lewis Marshall <lewis.marshall@ably.com>
@lmars lmars requested a review from owenpearson March 24, 2026 14:52
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 24, 2026

Walkthrough

The CI workflows for check.yml and integration-test.yml were updated to test against only the two latest Go releases (versions 1.25 and 1.26) instead of testing five specific older versions. This aligns with Go's release policy of supporting only recent versions.

Changes

Cohort / File(s) Summary
Go Version Matrix Updates
.github/workflows/check.yml, .github/workflows/integration-test.yml
Updated CI workflow matrix configurations to test against Go versions 1.25 and 1.26 only, replacing support for versions 1.19, 1.20, 1.23, 1.24. Added inline comment clarifying alignment with Go's release policy.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 Two versions now, the latest and best,

We've pruned the old branches from our test nest,

1.25 and 1.26 stand strong and true,

Workflows dancing in sync, sleek and new! 🚀

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: reducing CI test matrix to run tests only on the latest two Go versions, which is directly reflected in both workflow files being modified.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ 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 ci-go-versions

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.

❤️ Share

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

Copy link
Copy Markdown
Contributor

@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.

🧹 Nitpick comments (1)
.github/workflows/check.yml (1)

19-20: Consider aligning Go version requirements with tested versions.

The go.mod declares go 1.18, but CI only tests Go 1.25 and 1.26. This creates a gap where regressions on Go 1.18–1.24 won't be caught. While Go's backwards compatibility likely makes this acceptable, either:

  1. Update go.mod to go 1.25 if 1.18 support is no longer needed
  2. Add a note to README or CONTRIBUTING explaining that only 1.25+ is tested, even though the module may theoretically support 1.18+
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/check.yml around lines 19 - 20, The CI tests run on the
workflow variable go-version (values ['1.25','1.26']) but go.mod currently
declares "go 1.18", creating a mismatch; either update the go directive in
go.mod from 1.18 to 1.25 (edit the go directive in go.mod) so module requirement
matches tested versions, or add a clear note in README or CONTRIBUTING
indicating that CI only tests Go 1.25+ while the module may still target 1.18;
pick one approach and ensure the go-version list in the workflow and the go
directive (or the documentation note) are consistent.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In @.github/workflows/check.yml:
- Around line 19-20: The CI tests run on the workflow variable go-version
(values ['1.25','1.26']) but go.mod currently declares "go 1.18", creating a
mismatch; either update the go directive in go.mod from 1.18 to 1.25 (edit the
go directive in go.mod) so module requirement matches tested versions, or add a
clear note in README or CONTRIBUTING indicating that CI only tests Go 1.25+
while the module may still target 1.18; pick one approach and ensure the
go-version list in the workflow and the go directive (or the documentation note)
are consistent.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 144644c0-2405-43fd-95d7-140f4e5bc2c7

📥 Commits

Reviewing files that changed from the base of the PR and between dc6f14a and ce52848.

📒 Files selected for processing (2)
  • .github/workflows/check.yml
  • .github/workflows/integration-test.yml

Copy link
Copy Markdown
Member

@owenpearson owenpearson left a comment

Choose a reason for hiding this comment

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

sgtm 👍

@lmars lmars merged commit 84b573f into main Mar 24, 2026
18 of 19 checks passed
@lmars lmars deleted the ci-go-versions branch March 24, 2026 20:48
@lmars lmars mentioned this pull request Apr 20, 2026
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants