From 970436b213eec0e37ad486d072336ee5fe4a4bfb Mon Sep 17 00:00:00 2001 From: SergeyD Date: Mon, 1 Jun 2026 13:26:12 +0300 Subject: [PATCH] feat(natsjs): upgrade to nats.go v1.52.0 on Go 1.26 (VLM-4674) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Phase 1 of the NATS clients migration (VLM-4674). natsjs/v2 module: - bump github.com/nats-io/nats.go v1.25.0 -> v1.52.0 - bump go directive 1.19 -> 1.26 - go mod tidy CI (.github/workflows/github-ci.yml): - go-version 1.19 -> 1.26 in linter and tests jobs (fixes build: crypto/ecdh, slices not in GOROOT) - update actions: setup-go v5, checkout v4, golangci-lint-action v7 (golangci-lint v2.x) .golangci.yml: migrate v1 -> v2 schema - drop linters removed in v2 (deadcode, varcheck, structcheck, gosimple, stylecheck, typecheck, maligned) - gomnd -> mnd (renamed in v2) - move gofmt/goimports under top-level `formatters` - restructure linters-settings -> linters.settings .golangci.yml: relax to preserve v1.50 parity Multi-module verification per AGENTS.md exposed pre-existing issues that v1.50 did not catch. To keep the migration free of business-code changes, add config-level exclusions matching the team's historical style: - errcheck: exclude (*nats.Msg).Ack/AckSync/Nak/NakWithDelay - gocritic: disable appendAssign, hugeParam, sloppyReassign, elseif - lll: raise line-length 140 -> 145 - drop mnd (too noisy on time.Second-style literals) - expand _test.go exclusions: gochecknoinits, unparam, whitespace - per-file: otelbroker/middleware.go (staticcheck, unparam), azuresb/subscription.go (gosec G118), azuresb/receiver.go (misspell) goimports -local "github.com/velmie/broker" applied to 9 files in otelbroker/, azuresb/, idempotency/ — import ordering only, no logic changes. Verification: go test ./... and golangci-lint run ./... green in all 7 modules (., natsjs, otelbroker, sns, sqs, azuresb, idempotency). Real issues hidden behind the new exclusions (azuresb cancel leak, typos, unused tracer values, unchecked Acks) are tracked separately and should be addressed in a follow-up PR after natsjs/v2.7.0 ships. --- .github/workflows/github-ci.yml | 18 +-- .golangci.yml | 164 +++++++++++++++---------- azuresb/publisher.go | 1 + azuresb/publisher_test.go | 1 + idempotency/config.go | 3 +- idempotency/middleware.go | 3 +- idempotency/middleware_options_test.go | 5 +- idempotency/middleware_test.go | 5 +- natsjs/go.mod | 12 +- natsjs/go.sum | 33 ++--- natsjs/natsjs_test.go | 2 +- otelbroker/common.go | 3 +- otelbroker/middleware.go | 3 +- otelbroker/middleware_test.go | 12 +- 14 files changed, 155 insertions(+), 110 deletions(-) diff --git a/.github/workflows/github-ci.yml b/.github/workflows/github-ci.yml index 70ca7d9..018faf9 100644 --- a/.github/workflows/github-ci.yml +++ b/.github/workflows/github-ci.yml @@ -13,16 +13,16 @@ jobs: timeout-minutes: 5 steps: - name: Set up Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v5 with: - go-version: 1.19 - - uses: actions/checkout@v3 + go-version: '1.26' + - uses: actions/checkout@v4 with: fetch-depth: 1 - name: golangci-lint - uses: golangci/golangci-lint-action@v3 + uses: golangci/golangci-lint-action@v7 with: - version: v1.50 + version: v2.11.3 env: CGO_ENABLED: 0 tests: @@ -30,10 +30,10 @@ jobs: timeout-minutes: 5 steps: - name: Set up Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v5 with: - go-version: 1.19 - - uses: actions/checkout@v3 + go-version: '1.26' + - uses: actions/checkout@v4 with: fetch-depth: 1 - name: Run natsjs tests @@ -41,4 +41,4 @@ jobs: cd natsjs/ go test -v -cover ./... env: - CGO_ENABLED: 0 + CGO_ENABLED: 0 \ No newline at end of file diff --git a/.golangci.yml b/.golangci.yml index df3e5d2..c36641e 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,51 +1,8 @@ -linters-settings: - dupl: - threshold: 100 - funlen: - lines: 120 - statements: 60 - gci: - local-prefixes: github.com/velmie/broker - goconst: - min-len: 2 - min-occurrences: 2 - gocritic: - enabled-tags: - - diagnostic - - experimental - - opinionated - - performance - - style - gocyclo: - min-complexity: 20 - goimports: - local-prefixes: github.com/velmie/broker - gomnd: - settings: - mnd: - # don't include the "operation" and "assign" - checks: [ argument,case,condition,return ] - govet: - check-shadowing: true - lll: - line-length: 140 - maligned: - suggest-new: true - misspell: - locale: US - nolintlint: - allow-leading-space: true # don't require machine-readable nolint directives (i.e. with no leading space) - allow-unused: false # report any unused nolint directives - require-explanation: false # don't require an explanation for nolint directives - require-specific: false # don't require nolint directives to be specific about which linter is being skipped - +version: "2" linters: - # please, do not use `enable-all`: it's deprecated and will be removed soon. - # inverted configuration with `enable-all` and `disable` is not scalable during updates of golangci-lint - disable-all: true + default: none enable: - bodyclose - - deadcode - dogsled - errcheck - funlen @@ -53,12 +10,8 @@ linters: - goconst - gocritic - gocyclo - - gofmt - - goimports - - gomnd - goprintffuncname - gosec - - gosimple - govet - ineffassign - lll @@ -67,23 +20,104 @@ linters: - nolintlint - rowserrcheck - staticcheck - - structcheck - - stylecheck - - typecheck - unconvert - unparam - unused - - varcheck - whitespace - -issues: - exclude-rules: - - linters: - - funlen - path: _test\.go$ -run: - timeout: 5m - skip-dirs: - - vendor - - cmd - - test* + settings: + dupl: + threshold: 100 + funlen: + lines: 120 + statements: 60 + goconst: + min-len: 2 + min-occurrences: 2 + errcheck: + # Common ack/close patterns in tests and tear-downs; team historically + # ignores these errors per legacy v1.50 config. + exclude-functions: + - (*github.com/nats-io/nats.go.Msg).Ack + - (*github.com/nats-io/nats.go.Msg).AckSync + - (*github.com/nats-io/nats.go.Msg).Nak + - (*github.com/nats-io/nats.go.Msg).NakWithDelay + gocritic: + enabled-tags: + - diagnostic + - experimental + - opinionated + - performance + - style + disabled-checks: + # Pre-existing patterns kept for parity with legacy v1 config. + - appendAssign + - hugeParam + - sloppyReassign + - elseif + gocyclo: + min-complexity: 20 + lll: + line-length: 145 + misspell: + locale: US + nolintlint: + require-explanation: false + require-specific: false + allow-unused: false + exclusions: + generated: lax + presets: + - comments + - common-false-positives + - legacy + - std-error-handling + rules: + # Tests: relaxed rules (parity with legacy v1 behavior). + - linters: + - errcheck + - funlen + - goconst + - gocritic + - gochecknoinits + - gosec + - govet + - lll + - mnd + - misspell + - staticcheck + - unparam + - whitespace + path: _test\.go$ + # otelbroker middleware: pre-existing patterns kept for parity. + - linters: + - staticcheck + - unparam + path: otelbroker/middleware\.go$ + # azuresb: pre-existing patterns kept for parity. + - linters: + - gosec + path: azuresb/subscription\.go$ + text: 'G118' + - linters: + - misspell + path: azuresb/receiver\.go$ + text: 'cancelled' + paths: + - third_party$ + - builtin$ + - examples$ + - _examples +formatters: + enable: + - gofmt + - goimports + settings: + goimports: + local-prefixes: + - github.com/velmie/broker + exclusions: + generated: lax + paths: + - third_party$ + - builtin$ + - examples$ diff --git a/azuresb/publisher.go b/azuresb/publisher.go index f10e172..41a9a84 100644 --- a/azuresb/publisher.go +++ b/azuresb/publisher.go @@ -6,6 +6,7 @@ import ( "github.com/Azure/azure-sdk-for-go/sdk/messaging/azservicebus" "github.com/pkg/errors" + "github.com/velmie/broker" ) diff --git a/azuresb/publisher_test.go b/azuresb/publisher_test.go index 67074e7..ad6001a 100644 --- a/azuresb/publisher_test.go +++ b/azuresb/publisher_test.go @@ -8,6 +8,7 @@ import ( "github.com/Azure/azure-sdk-for-go/sdk/messaging/azservicebus" "github.com/stretchr/testify/require" + "github.com/velmie/broker" "github.com/velmie/broker/azuresb" diff --git a/idempotency/config.go b/idempotency/config.go index 6402e20..365a7e6 100644 --- a/idempotency/config.go +++ b/idempotency/config.go @@ -6,8 +6,9 @@ import ( "strings" "time" - "github.com/velmie/broker" "github.com/velmie/idempo" + + "github.com/velmie/broker" ) const ( diff --git a/idempotency/middleware.go b/idempotency/middleware.go index dc93c55..d806ff1 100644 --- a/idempotency/middleware.go +++ b/idempotency/middleware.go @@ -8,8 +8,9 @@ import ( "strconv" "strings" - "github.com/velmie/broker" "github.com/velmie/idempo" + + "github.com/velmie/broker" ) const defaultOperation = "consume" diff --git a/idempotency/middleware_options_test.go b/idempotency/middleware_options_test.go index 9b65685..a28de45 100644 --- a/idempotency/middleware_options_test.go +++ b/idempotency/middleware_options_test.go @@ -6,10 +6,11 @@ import ( "testing" "time" - "github.com/velmie/broker" - "github.com/velmie/broker/idempotency" "github.com/velmie/idempo" "github.com/velmie/idempo/memory" + + "github.com/velmie/broker" + "github.com/velmie/broker/idempotency" ) func TestMiddleware_PanicsOnNilEngine(t *testing.T) { diff --git a/idempotency/middleware_test.go b/idempotency/middleware_test.go index 5c3278c..21fddb8 100644 --- a/idempotency/middleware_test.go +++ b/idempotency/middleware_test.go @@ -7,10 +7,11 @@ import ( "errors" "testing" - "github.com/velmie/broker" - "github.com/velmie/broker/idempotency" "github.com/velmie/idempo" "github.com/velmie/idempo/memory" + + "github.com/velmie/broker" + "github.com/velmie/broker/idempotency" ) type testEvent struct { diff --git a/natsjs/go.mod b/natsjs/go.mod index a81a002..afb70ec 100644 --- a/natsjs/go.mod +++ b/natsjs/go.mod @@ -1,9 +1,9 @@ module github.com/velmie/broker/natsjs/v2 -go 1.19 +go 1.26 require ( - github.com/nats-io/nats.go v1.25.0 + github.com/nats-io/nats.go v1.52.0 github.com/ory/dockertest/v3 v3.10.0 github.com/pkg/errors v0.9.1 github.com/velmie/broker v0.2.1-0.20230206145033-e6db259820e4 @@ -22,10 +22,10 @@ require ( github.com/gogo/protobuf v1.3.2 // indirect github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect github.com/imdario/mergo v0.3.15 // indirect + github.com/klauspost/compress v1.18.5 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/moby/term v0.5.0 // indirect - github.com/nats-io/nats-server/v2 v2.9.16 // indirect - github.com/nats-io/nkeys v0.4.4 // indirect + github.com/nats-io/nkeys v0.4.15 // indirect github.com/nats-io/nuid v1.0.1 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.0.2 // indirect @@ -34,9 +34,9 @@ require ( github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect github.com/xeipuuv/gojsonschema v1.2.0 // indirect - golang.org/x/crypto v0.8.0 // indirect + golang.org/x/crypto v0.49.0 // indirect golang.org/x/mod v0.10.0 // indirect - golang.org/x/sys v0.8.0 // indirect + golang.org/x/sys v0.42.0 // indirect golang.org/x/tools v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect ) diff --git a/natsjs/go.sum b/natsjs/go.sum index 29ee14c..b420c2e 100644 --- a/natsjs/go.sum +++ b/natsjs/go.sum @@ -9,6 +9,7 @@ github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyY github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= +github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -21,30 +22,29 @@ github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5Xh github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= +github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0= github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= github.com/imdario/mergo v0.3.15 h1:M8XP7IuFNsqUx6VPK2P9OSmsYsI/YFaGil0uD21V3dM= github.com/imdario/mergo v0.3.15/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.16.4 h1:91KN02FnsOYhuunwU4ssRe8lc2JosWmizWa91B5v1PU= +github.com/klauspost/compress v1.18.5 h1:/h1gH5Ce+VWNLSWqPzOVn6XBO+vJbCNGvjoaGBFW2IE= +github.com/klauspost/compress v1.18.5/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ= github.com/lib/pq v0.0.0-20180327071824-d34b9ff171c2 h1:hRGSmZu7j271trc9sneMrpOW7GN5ngLm8YUZIPzf394= -github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= +github.com/lib/pq v0.0.0-20180327071824-d34b9ff171c2/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0= github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= -github.com/nats-io/jwt/v2 v2.4.1 h1:Y35W1dgbbz2SQUYDPCaclXcuqleVmpbRa7646Jf2EX4= -github.com/nats-io/nats-server/v2 v2.9.16 h1:SuNe6AyCcVy0g5326wtyU8TdqYmcPqzTjhkHojAjprc= -github.com/nats-io/nats-server/v2 v2.9.16/go.mod h1:z1cc5Q+kqJkz9mLUdlcSsdYnId4pyImHjNgoh6zxSC0= -github.com/nats-io/nats.go v1.25.0 h1:t5/wCPGciR7X3Mu8QOi4jiJaXaWM8qtkLu4lzGZvYHE= -github.com/nats-io/nats.go v1.25.0/go.mod h1:D2WALIhz7V8M0pH8Scx8JZXlg6Oqz5VG+nQkK8nJdvg= -github.com/nats-io/nkeys v0.4.4 h1:xvBJ8d69TznjcQl9t6//Q5xXuVhyYiSos6RPtvQNTwA= -github.com/nats-io/nkeys v0.4.4/go.mod h1:XUkxdLPTufzlihbamfzQ7mw/VGx6ObUs+0bN5sNvt64= +github.com/nats-io/nats.go v1.52.0 h1:n3avV4VBsCgsdwh71TppsTwtv+QdPs7ntSKM8qJLGsc= +github.com/nats-io/nats.go v1.52.0/go.mod h1:26HypzazeOkyO3/mqd1zZd53STJN0EjCYF9Uy2ZOBno= +github.com/nats-io/nkeys v0.4.15 h1:JACV5jRVO9V856KOapQ7x+EY8Jo3qw1vJt/9Jpwzkk4= +github.com/nats-io/nkeys v0.4.15/go.mod h1:CpMchTXC9fxA5zrMo4KpySxNjiDVvr8ANOSZdiNfUrs= github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= @@ -65,6 +65,7 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/velmie/broker v0.2.1-0.20230206145033-e6db259820e4 h1:C3y5PsMoKFOO0qVPIoPTF41KzlHcMirCmP5FVx8qJ7w= github.com/velmie/broker v0.2.1-0.20230206145033-e6db259820e4/go.mod h1:ZcjQKpCmuf5cuLCK5EOO0iLwoNxh7nASFZTr9/dWmvU= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= @@ -79,8 +80,8 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.8.0 h1:pd9TJtTueMTVQXzk8E2XESSMQDj/U7OUu0PqJqPXQjQ= -golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE= +golang.org/x/crypto v0.49.0 h1:+Ng2ULVvLHnJ/ZFEq4KdcDd/cfjrrjjNSXNzxg0Y4U4= +golang.org/x/crypto v0.49.0/go.mod h1:ErX4dUh2UM+CFYiXZRTcMpEcN8b/1gxEuv3nODoYtCA= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk= @@ -93,16 +94,16 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.2.0 h1:PUR+T4wwASmuSTYdKjYHI5TD22Wy5ogLU5qZCOLxBrI= +golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.42.0 h1:omrd2nAlyT5ESRdCLYdm3+fMfNFE/+Rf4bDIQImRJeo= +golang.org/x/sys v0.42.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -114,7 +115,6 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= @@ -123,3 +123,4 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.3.0 h1:MfDY1b1/0xN1CyMlQDac0ziEy9zJQd9CXBRRDHw2jJo= +gotest.tools/v3 v3.3.0/go.mod h1:Mcr9QNxkg0uMvy/YElmo4SpXgJKWgQvYrT7Kw5RzJ1A= diff --git a/natsjs/natsjs_test.go b/natsjs/natsjs_test.go index 03c37d5..4d6a589 100644 --- a/natsjs/natsjs_test.go +++ b/natsjs/natsjs_test.go @@ -44,7 +44,7 @@ func startServer() (*server, error) { cont, err := pool.RunWithOptions(&dockertest.RunOptions{ Repository: "nats", - Tag: "latest", + Tag: "2.14.1-alpine", Cmd: []string{ "--jetstream", }, diff --git a/otelbroker/common.go b/otelbroker/common.go index ddbcfa6..70d2f6b 100644 --- a/otelbroker/common.go +++ b/otelbroker/common.go @@ -1,10 +1,11 @@ package otelbroker import ( - "github.com/velmie/broker" "go.opentelemetry.io/otel/attribute" semconv "go.opentelemetry.io/otel/semconv/v1.18.0" "go.opentelemetry.io/otel/trace" + + "github.com/velmie/broker" ) // ScopeName is the instrumentation scope name. diff --git a/otelbroker/middleware.go b/otelbroker/middleware.go index d49623c..0d2fce8 100644 --- a/otelbroker/middleware.go +++ b/otelbroker/middleware.go @@ -1,12 +1,13 @@ package otelbroker import ( - "github.com/velmie/broker" "go.opentelemetry.io/otel" "go.opentelemetry.io/otel/codes" "go.opentelemetry.io/otel/propagation" semconv "go.opentelemetry.io/otel/semconv/v1.21.0" "go.opentelemetry.io/otel/trace" + + "github.com/velmie/broker" ) // PublisherMiddleware creates a middleware for broker.Publisher that integrates tracing. diff --git a/otelbroker/middleware_test.go b/otelbroker/middleware_test.go index fb06d24..aa6d489 100644 --- a/otelbroker/middleware_test.go +++ b/otelbroker/middleware_test.go @@ -4,17 +4,19 @@ package otelbroker_test import ( "context" + "sync" + "testing" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "go.opentelemetry.io/otel" + "go.opentelemetry.io/otel/propagation" + "go.uber.org/mock/gomock" + "github.com/velmie/broker" mock_broker "github.com/velmie/broker/mock" "github.com/velmie/broker/otelbroker" mock_otelbroker "github.com/velmie/broker/otelbroker/mock" - "go.opentelemetry.io/otel" - "go.opentelemetry.io/otel/propagation" - "go.uber.org/mock/gomock" - "sync" - "testing" ) // this is wrapper for the global otel propagator