chore(deps): update all Go dependencies and bump to Go 1.26 [RED-694] - #379
Merged
Conversation
checkly/integration_test.go was guarded by //go:build integration, a tag no Makefile target or workflow ever sets, and it ran terraform.InitAndApply against TerraformDir "../" where no .tf files exist. It could not run, and could not have passed if it had. It was the only importer of gruntwork-io/terratest, which via hashicorp/go-getter pulled in aws-sdk-go, ~60 cloud.google.com/go modules, OpenTelemetry, spiffe and envoyproxy. go mod tidy drops all of them. The tidy run also corrects pre-existing drift: aws-sdk-go was sitting in the direct require block, and go-test/deep (a test dependency of hcl/v2/hclsyntax) was missing. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Both call sites used %q on a value it cannot render: - resource_check_group_v2.go passed an int64 group id, which %q renders as a quoted rune literal rather than a number. - resource_playwright_code_bundle.go passed a *PlaywrightCodeBundleMetadata, which has no String method, so %q renders %!q(...). The printf analyzer only reports these once the module's language version is 1.26, so they went unnoticed. Fixed ahead of that bump. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Raises the go.mod language version and the four setup-go pins in the test and release workflows. codeql-analysis.yml has no setup-go step, so GOTOOLCHAIN stays at its default of auto there and the runner fetches 1.26 on demand. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The only direct bump is Masterminds/semver/v3 3.2.0 -> 3.5.0; the rest is the indirect tail under terraform-plugin-sdk/v2 and terraform-plugin-docs. tools/tools.go sits behind a //go:build tools tag, so `go get -u ./...` never matches it. The tfplugindocs dependency tree is upgraded by naming its package path explicitly. sprig 3.3.0 moves from imdario/mergo to dario.cat/mergo, and go-cty 1.19.0 moves from go-textseg/v15 to v17; hcl/v2 still requires v15, so both majors are present. testify drops out because it survives only as a test-only dependency of go-hclog, which graph pruning excludes. Docs regenerate byte-identically and the acceptance suite passes against a real account. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Linear: RED-694
Brings every Go module to its latest version, and moves the provider to Go 1.26.
Although dependabot runs daily against
gomod, four of its PRs had stalled andgo.modhad fallen behind. Nearly all of that came from one dead dependency.Dropping terratest
gruntwork-io/terratestwas imported by exactly one file,checkly/integration_test.go, behind a//go:build integrationtag that nothing ever sets — notGNUmakefile, not any workflow. That test also ranterraform.InitAndApplyagainstTerraformDir: "../", and the repo root has had no.tffiles sincee513ed6, so it could not have passed even if it had run.Via
hashicorp/go-getter, terratest pulled inaws-sdk-go, ~60cloud.google.com/go/*modules, OpenTelemetry, spiffe and envoyproxy. Deleting the test drops all of them:go.sumloses 918 lines net.This is what dependabot #376 could not do — terratest v1 requires Go >= 1.26, which is why that PR is red.
Go 1.26
go.modmoves togo 1.26.0, with the fourgo-versionpins intest.ymlandrelease.ymlfollowing.The bump surfaced two pre-existing
fmt.Errorfbugs, fixed in their own commit before the bump so each commit is independently green:resource_check_group_v2.gopassed anint64group id to%q, which renders a quoted rune rather than a number.resource_playwright_code_bundle.gopassed a*PlaywrightCodeBundleMetadatato%q, which renders%!q(...).Both are gated on the module's language version, not the toolchain: at
go 1.25.8vet is silent, atgo 1.26.0both fire.go testruns the printf analyzer, so CI would have gone red without them.codeql-analysis.ymlhas nosetup-gostep, soGOTOOLCHAINstays at its default ofautothere and the runner fetches 1.26 on demand.Module updates
The only direct bump is
Masterminds/semver/v33.2.0 → 3.5.0 (supersedes dependabot #373). The rest is the indirect tail underterraform-plugin-sdk/v2andterraform-plugin-docs.Two results in
go.modlook odd but are correct:sprig3.3.0 moves fromimdario/mergotodario.cat/mergo;go-cty1.19.0 moves fromgo-textseg/v15to/v17, whilehcl/v2still requiresv15, so both majors are present.testifydrops out — it survives only as a test-only dependency ofgo-hclog, which module graph pruning excludes.Note that
grpc(1.79.3 → 1.82.0) andgo-plugin(1.7.0 → 1.8.0) now sit ahead of the versionsterraform-plugin-sdk/v2v2.40.1 pins. Dependabot'sgomodecosystem runs daily with noignorelist, so it would open these bumps regardless; agroupsblock independabot.ymlwould be a reasonable follow-up.Verification
Beyond CI: docs regenerate byte-identically under the upgraded
tfplugindocs, and the full acceptance suite passes against a real Checkly account (156s), which is what actually exercises thegrpc/go-plugin/go-ctybumps on the provider's serving path.Other changes
CONTRIBUTING.mdstill asked for Go >= 1.18.2. A contributor following it would hit a hardgo.mod requires go >= 1.26.0error with no graceful recovery, since toolchain auto-download only exists on Go >= 1.21.Follow-up
Dependabot should close #376 and #373 once this lands. #374 and #346 remain open and valid — GitHub Actions bumps were out of scope here.
🤖 Generated with Claude Code