From d08eeee94da15ffa84c5e16e757c2288a860462e Mon Sep 17 00:00:00 2001 From: Neil Twigg Date: Thu, 31 Aug 2023 09:00:29 +0100 Subject: [PATCH 1/3] Use Go 1.21 for nightlies, Dockerfile, code coverage, bump `go.mod` version to Go 1.20 Signed-off-by: Neil Twigg --- .github/workflows/cov.yaml | 2 +- .github/workflows/go-test.yaml | 2 +- .github/workflows/nightly.yaml | 2 +- .github/workflows/rc_nightly.yaml | 2 +- .travis.yml | 8 ++++---- docker/Dockerfile.nightly | 2 +- go.mod | 2 +- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/cov.yaml b/.github/workflows/cov.yaml index b0684a56..ccc10282 100644 --- a/.github/workflows/cov.yaml +++ b/.github/workflows/cov.yaml @@ -23,7 +23,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v4 with: - go-version: "1.20.x" + go-version: "1.21.x" - name: Run code coverage shell: bash --noprofile --norc -x -eo pipefail {0} diff --git a/.github/workflows/go-test.yaml b/.github/workflows/go-test.yaml index dd8634f5..def55c5f 100644 --- a/.github/workflows/go-test.yaml +++ b/.github/workflows/go-test.yaml @@ -5,7 +5,7 @@ jobs: test: strategy: matrix: - go: ["1.20"] + go: ["1.21"] env: GOPATH: /home/runner/work/nats-server diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml index 8f2462eb..b5189548 100644 --- a/.github/workflows/nightly.yaml +++ b/.github/workflows/nightly.yaml @@ -22,7 +22,7 @@ jobs: - uses: ./src/github.com/nats-io/nats-server/.github/actions/nightly-release with: - go: "1.20" + go: "1.21" workdir: src/github.com/nats-io/nats-server label: nightly hub_username: "${{ secrets.DOCKER_USERNAME }}" diff --git a/.github/workflows/rc_nightly.yaml b/.github/workflows/rc_nightly.yaml index f6cf6bc7..7597ca1d 100644 --- a/.github/workflows/rc_nightly.yaml +++ b/.github/workflows/rc_nightly.yaml @@ -22,7 +22,7 @@ jobs: - uses: ./src/github.com/nats-io/nats-server/.github/actions/nightly-release with: - go: "1.20" + go: "1.21" workdir: src/github.com/nats-io/nats-server label: nightly-main hub_username: "${{ secrets.DOCKER_USERNAME }}" diff --git a/.travis.yml b/.travis.yml index 3523cd1d..f6ef5a70 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,8 +6,8 @@ vm: language: go go: -# This should be quoted or use .x, but should not be unquoted. -# Remember that a YAML bare float drops trailing zeroes. + # This should be quoted or use .x, but should not be unquoted. + # Remember that a YAML bare float drops trailing zeroes. - "1.21.x" - "1.20.x" @@ -41,7 +41,7 @@ jobs: - name: "Run all tests from all other packages" env: TEST_SUITE=non_srv_pkg_tests - name: "Compile with older Go release" - go: "1.19.12" + go: "1.20" env: TEST_SUITE=build_only script: ./scripts/runTestsOnTravis.sh $TEST_SUITE @@ -52,4 +52,4 @@ deploy: script: curl -sL http://git.io/goreleaser | bash on: tags: true - condition: ($TRAVIS_GO_VERSION =~ 1.20) && ($TEST_SUITE = "compile") + condition: ($TRAVIS_GO_VERSION =~ 1.21) && ($TEST_SUITE = "compile") diff --git a/docker/Dockerfile.nightly b/docker/Dockerfile.nightly index aa2ade34..dbb2c093 100644 --- a/docker/Dockerfile.nightly +++ b/docker/Dockerfile.nightly @@ -1,4 +1,4 @@ -FROM golang:1.20-alpine AS builder +FROM golang:1.21-alpine AS builder ARG VERSION="nightly" diff --git a/go.mod b/go.mod index 52473475..3d919146 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/nats-io/nats-server/v2 -go 1.19 +go 1.20 require ( github.com/klauspost/compress v1.16.7 From d5d8f29575d317310d6127ec3478cbd5ee0265e5 Mon Sep 17 00:00:00 2001 From: Waldemar Quevedo Date: Tue, 5 Sep 2023 16:55:04 -0700 Subject: [PATCH 2/3] Remove rand.Seed use, not needed in Go +1.20 Signed-off-by: Waldemar Quevedo --- server/client.go | 4 ---- server/jetstream_consumer_test.go | 2 -- 2 files changed, 6 deletions(-) diff --git a/server/client.go b/server/client.go index 2adfdb59..1cdde1cf 100644 --- a/server/client.go +++ b/server/client.go @@ -91,10 +91,6 @@ const ( tlsHandshakeMQTT = "mqtt" ) -func init() { - rand.Seed(time.Now().UnixNano()) -} - const ( // Scratch buffer size for the processMsg() calls. msgScratchSize = 1024 diff --git a/server/jetstream_consumer_test.go b/server/jetstream_consumer_test.go index c82e0806..9ed8a249 100644 --- a/server/jetstream_consumer_test.go +++ b/server/jetstream_consumer_test.go @@ -236,7 +236,6 @@ func TestJetStreamConsumerMultipleConsumersSingleFilter(t *testing.T) { } // Publish with random intervals, while consumers are active. - rand.Seed(time.Now().UnixNano()) var wg sync.WaitGroup for _, subject := range subjects { wg.Add(subject.messages) @@ -348,7 +347,6 @@ func TestJetStreamConsumerMultipleConsumersMultipleFilters(t *testing.T) { } // Publish with random intervals, while consumers are active. - rand.Seed(time.Now().UnixNano()) var wg sync.WaitGroup for _, subject := range subjects { wg.Add(subject.messages) From d144eaaed8acfbcd8c8d504147afd54640aa6b52 Mon Sep 17 00:00:00 2001 From: Waldemar Quevedo Date: Tue, 5 Sep 2023 16:57:49 -0700 Subject: [PATCH 3/3] Replace rand.Rand with crypto/rand.Read in Go +1.20 Signed-off-by: Waldemar Quevedo --- server/jetstream_test.go | 4 ++-- server/nkey_test.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/server/jetstream_test.go b/server/jetstream_test.go index 9356dc5b..84acc1dd 100644 --- a/server/jetstream_test.go +++ b/server/jetstream_test.go @@ -20396,7 +20396,7 @@ func TestJetStreamPullConsumerBatchCompleted(t *testing.T) { msgSize := 128 msg := make([]byte, msgSize) - rand.Read(msg) + crand.Read(msg) for i := 0; i < 10; i++ { _, err := js.Publish("foo", msg) @@ -20462,7 +20462,7 @@ func TestJetStreamConsumerAndStreamMetadata(t *testing.T) { // Test max. data := make([]byte, JSMaxMetadataLen/100) - rand.Read(data) + crand.Read(data) bigValue := base64.StdEncoding.EncodeToString(data) bigMetadata := make(map[string]string, 101) diff --git a/server/nkey_test.go b/server/nkey_test.go index d815d14e..f593a2f7 100644 --- a/server/nkey_test.go +++ b/server/nkey_test.go @@ -274,7 +274,7 @@ func BenchmarkNonceGeneration(b *testing.B) { func BenchmarkPublicVerify(b *testing.B) { data := make([]byte, nonceRawLen) nonce := make([]byte, nonceLen) - mrand.Read(data) + crand.Read(data) base64.RawURLEncoding.Encode(nonce, data) user, err := nkeys.CreateUser()