Add CI/release workflows, pre-commit hooks, and proxy fixes#6
Merged
Add CI/release workflows, pre-commit hooks, and proxy fixes#6
Conversation
CI workflow runs lint (golangci-lint + gofmt), unit tests (Go 1.22/1.23 matrix with race detector), integration tests, cross-compile builds, and container build smoke tests on push/PR to main. Release workflow builds cross-compiled binaries, publishes multi-arch container images to quay.io, and creates GitHub releases with auto-generated notes on v* tag push. Also adds golangci-lint config, new Makefile targets (unit-test, integration-test, fmt-check), and -short flag support in integration tests to enable separate test runs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
goproxy's package-level globals (GoproxyCa, OkConnect, MitmConnect, RejectConnect) were written in New() and read in the CONNECT handler closure, causing races when multiple proxy instances exist concurrently. Replace with local variables captured by the closure. Re-enable -race in integration tests now that the race is fixed. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The codebase doesn't use InsecureSkipVerify — keep the lint check active so it flags any future introduction of insecure TLS config. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
go.mod requires go 1.23, so the 1.22 matrix entry would fail. Also fixes minor formatting issues that the CI gofmt check would catch. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Uses pre-commit with local hooks. Run `make install-hooks` to set up. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Resolve all golangci-lint errors (errcheck, gosec, staticcheck, unused) that caused the CI Lint job to fail, and add golangci-lint as a pre-commit hook to catch these issues before pushing. Co-Authored-By: Claude Opus 4.6 <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.
.golangci.ymlfor consistent linter configuration in CIpre-commitframework (make install-hooks)ConnectActionvalues locally