Skip to content

ci: modernize the pipeline and bump the Go baseline - #1

Merged
memclutter merged 1 commit into
mainfrom
chore/modernize-ci
Aug 12, 2026
Merged

ci: modernize the pipeline and bump the Go baseline#1
memclutter merged 1 commit into
mainfrom
chore/modernize-ci

Conversation

@memclutter

Copy link
Copy Markdown
Owner

What

Ports the proxycheck CI template into this repo, identical to the change made
in gorequests and
gorequests-proxy so
the whole family shares one pipeline shape.

  • go.ymlactions/checkout@v4, actions/setup-go@v5, matrix
    1.25/1.26 across the existing ubuntu / windows / macOS spread, and
    codecov/codecov-action@v4 replacing bash <(curl -s https://codecov.io/bash).
    The old 1.17 matrix entry goes with it.
  • golangci-lint.yml — new, pinning golangci-lint v2.12.2 via
    golangci/golangci-lint-action@v7.
  • go.modgo 1.18go 1.25. (Note: this module declared 1.18, not
    the 1.17 its CI matrix and the family docs claimed.)
  • README.md — a golangci-lint badge alongside the CI one.

Why

The old matrix pinned Go 1.17/1.18/1.19, and those toolchains can no
longer be downloaded for current runners — macOS-latest is arm64 now, and
setup-go dies with a 403 fetching the darwin-arm64 tarball before any code is
built. The action bump and the go.mod bump have to ship together; neither
fixes it alone.

Lint

golangci-lint run reports 0 issues on this module, so no source change was
needed.

Verification

Local, under the bumped go.mod (Go 1.25 via GOTOOLCHAIN=auto):
go build ./..., go test -count=1 ./... -race, golangci-lint run clean.

Worth stating plainly: this module has no test files, so the test job proves
it compiles and lints on the new baseline and nothing more. Test coverage for
the retry middleware is a real gap, but out of scope for a CI task.

Note

The Codecov upload uses fail_ci_if_error: false, so a missing CODECOV_TOKEN
degrades to a no-op rather than reddening the build.

🤖 Generated with Claude Code

Port the proxycheck CI template into this repo, matching the change
already made in gorequests and gorequests-proxy:

- go.yml moves to actions/checkout@v4 and actions/setup-go@v5, a
  1.25/1.26 Go matrix across the existing three OSes, and
  codecov/codecov-action@v4 instead of the deprecated piped-curl
  uploader. The old matrix also carried a 1.17 entry; all three
  toolchains are long out of support and no longer downloadable for
  current runners.
- golangci-lint.yml is new, pinning golangci-lint v2.12.2 via
  golangci/golangci-lint-action@v7.
- go.mod declares go 1.25 (it declared 1.18, despite the 1.17 the CI
  matrix and the family docs claimed).

golangci-lint reports no issues, so no source change was needed. No API
or behaviour change.
@memclutter
memclutter merged commit 4865e2a into main Aug 12, 2026
7 checks passed
@memclutter
memclutter deleted the chore/modernize-ci branch August 12, 2026 13:53
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.

1 participant