This is an automated email from the ASF dual-hosted git repository. hanahmily pushed a commit to branch bump-req in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git
commit 6b56b93a6d2704b5a43422bbb0da48edf1f38fad Author: Gao Hongtao <hanahm...@gmail.com> AuthorDate: Wed Nov 1 12:37:44 2023 +0000 Bump go and several tools Signed-off-by: Gao Hongtao <hanahm...@gmail.com> --- .github/workflows/ci.yml | 4 +- .github/workflows/e2e.storage.yml | 2 +- .github/workflows/publish-docker.yml | 2 +- .github/workflows/test.yml | 2 +- .golangci.yml | 6 +- CHANGES.md | 7 ++ CONTRIBUTING.md | 4 +- Makefile | 7 ++ api/Makefile | 1 + banyand/Dockerfile | 4 +- banyand/Makefile | 1 + banyand/metadata/schema/checker_test.go | 60 ++++++++-------- banyand/query/processor_topn.go | 6 +- banyand/stream/metadata_test.go | 78 ++++++++++----------- banyand/stream/stream_suite_test.go | 30 ++++---- bydbctl/Dockerfile | 2 +- bydbctl/Makefile | 1 + bydbctl/internal/cmd/group_test.go | 4 +- bydbctl/internal/cmd/index_rule.go | 2 +- bydbctl/internal/cmd/index_rule_binding.go | 2 +- bydbctl/internal/cmd/index_rule_binding_test.go | 2 +- bydbctl/internal/cmd/index_rule_test.go | 2 +- bydbctl/internal/cmd/measure.go | 2 +- bydbctl/internal/cmd/measure_test.go | 4 +- bydbctl/internal/cmd/property_test.go | 2 +- bydbctl/internal/cmd/root.go | 2 + bydbctl/internal/cmd/stream.go | 2 +- bydbctl/internal/cmd/stream_test.go | 4 +- dist/LICENSE | 24 +++---- docs/installation.md | 4 +- docs/installation/binaries.md | 4 +- go.mod | 26 +++---- go.sum | 58 +++++++++------- pkg/Makefile | 1 + pkg/convert/string.go | 18 ++--- pkg/flow/streaming/sliding_window_test.go | 54 +++++++-------- pkg/flow/streaming/streaming_test.go | 92 ++++++++++++------------- pkg/fs/local_file_system.go | 9 ++- pkg/Makefile => scripts/build/vendor.mk | 12 ++-- scripts/build/version.mk | 14 ++-- scripts/ci/check/version_test.go | 2 +- test/Makefile | 1 + test/stress/cases/istio/istio_suite_test.go | 52 +++++++------- ui/Makefile | 5 ++ ui/package-lock.json | 2 +- ui/package.json | 2 +- 46 files changed, 332 insertions(+), 293 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 27509f8f..8663ca24 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,7 +52,7 @@ jobs: ${{ runner.os }}-check-tool- - uses: actions/setup-node@v3 with: - node-version: 18.16 + node-version: 20.9 cache: 'npm' cache-dependency-path: ui/package-lock.json - name: Install Go @@ -100,7 +100,7 @@ jobs: ${{ runner.os }}-build-tool- - uses: actions/setup-node@v3 with: - node-version: 18.16 + node-version: 20.9 cache: 'npm' cache-dependency-path: ui/package-lock.json - name: Install Go diff --git a/.github/workflows/e2e.storage.yml b/.github/workflows/e2e.storage.yml index 35428b9c..0446bb17 100644 --- a/.github/workflows/e2e.storage.yml +++ b/.github/workflows/e2e.storage.yml @@ -74,7 +74,7 @@ jobs: ${{ runner.os }}-build-tool- - uses: actions/setup-node@v3 with: - node-version: 18.16 + node-version: 20.9 cache: 'npm' cache-dependency-path: ui/package-lock.json - name: Install Go diff --git a/.github/workflows/publish-docker.yml b/.github/workflows/publish-docker.yml index 1024d5bb..5e1a256f 100644 --- a/.github/workflows/publish-docker.yml +++ b/.github/workflows/publish-docker.yml @@ -61,7 +61,7 @@ jobs: ${{ runner.os }}-build-tool- - uses: actions/setup-node@v3 with: - node-version: 18.16 + node-version: 20.9 cache: 'npm' cache-dependency-path: ui/package-lock.json - name: Install Go diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 31b83480..926d979a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -60,7 +60,7 @@ jobs: ${{ runner.os }}-test-tool- - uses: actions/setup-node@v3 with: - node-version: 18.16 + node-version: 20.9 cache: 'npm' cache-dependency-path: ui/package-lock.json - name: Install Go diff --git a/.golangci.yml b/.golangci.yml index 6c86d559..494da9b0 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -83,7 +83,7 @@ linters-settings: misspell: locale: US unused: - go: "1.20" + go: "1.21" check-exported: false unparam: check-exported: false @@ -144,10 +144,10 @@ linters-settings: # all - for all comments. scope: toplevel staticcheck: - go: "1.20" + go: "1.21" checks: ["all", "-ST1000", "-ST1016", "-ST1020", "-ST1021", "-ST1022"] stylecheck: - go: "1.20" + go: "1.21" exhaustive: check: - switch diff --git a/CHANGES.md b/CHANGES.md index 1db2102c..6331edf7 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -13,6 +13,13 @@ Release Notes. - Fix the bug that property merge new tags failed. + +### Chores + +- Bump go to 1.21. +- Bump node to 20.9. +- Bump several tools. + ## 0.5.0 ### Features diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b4c429cc..fcae5d0b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -41,8 +41,8 @@ Once we've discussed your changes and you've got your code ready, make sure that Users who want to build a binary from sources have to set up: -* Go 1.20 -* Node 18.16 +* Go 1.21 +* Node 20.9 * Git >= 2.30 * Linux, macOS or Windows+WSL2 * GNU make diff --git a/Makefile b/Makefile index 6c5fb937..37ba8a3e 100644 --- a/Makefile +++ b/Makefile @@ -81,6 +81,12 @@ lint: TARGET=lint lint: PROJECTS:=api $(PROJECTS) pkg scripts/ci/check test lint: default ## Run the linters on all projects +##@ Vendor update + +vendor-update: TARGET=vendor-update +vendor-update: PROJECTS:=$(PROJECTS) pkg test +vendor-update: default ## Run the linters on all projects + ##@ Code style targets tidy: go mod tidy @@ -186,3 +192,4 @@ release-assembly: release-binary release-sign ## Generate release package .PHONY: test test-race test-coverage test-ci .PHONY: license-check license-fix license-dep .PHONY: release release-binary release-source release-sign release-assembly +.PHONY: vendor-update diff --git a/api/Makefile b/api/Makefile index bd8747e0..22fb2ef3 100644 --- a/api/Makefile +++ b/api/Makefile @@ -21,6 +21,7 @@ NAME := api include ../scripts/build/version.mk include ../scripts/build/base.mk include ../scripts/build/lint-api.mk +include ../scripts/build/vendor.mk include ../scripts/build/help.mk proto_dir := $(root_dir)/api/proto diff --git a/banyand/Dockerfile b/banyand/Dockerfile index 5b03fb27..9b964b29 100644 --- a/banyand/Dockerfile +++ b/banyand/Dockerfile @@ -14,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM golang:1.20 AS dev +FROM golang:1.21 AS dev WORKDIR /app ENV GOOS="linux" ENV CGO_ENABLED=0 @@ -27,7 +27,7 @@ EXPOSE 2345 ENTRYPOINT ["air"] -FROM golang:1.20 AS base +FROM golang:1.21 AS base ENV GOPATH "/go" ENV GO111MODULE "on" diff --git a/banyand/Makefile b/banyand/Makefile index 376ac0c8..ca3f7604 100644 --- a/banyand/Makefile +++ b/banyand/Makefile @@ -33,4 +33,5 @@ include ../scripts/build/build.mk include ../scripts/build/test.mk include ../scripts/build/lint.mk include ../scripts/build/docker.mk +include ../scripts/build/vendor.mk include ../scripts/build/help.mk diff --git a/banyand/metadata/schema/checker_test.go b/banyand/metadata/schema/checker_test.go index d15f814d..06164ec9 100644 --- a/banyand/metadata/schema/checker_test.go +++ b/banyand/metadata/schema/checker_test.go @@ -21,7 +21,7 @@ import ( "time" "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" + "github.com/onsi/gomega" "github.com/onsi/gomega/gleak" "google.golang.org/protobuf/encoding/protojson" "google.golang.org/protobuf/types/known/timestamppb" @@ -33,22 +33,22 @@ import ( func loadStream() *databasev1.Stream { s := &databasev1.Stream{} // preload stream - Expect(protojson.Unmarshal([]byte(streamJSON), s)).To(Succeed()) + gomega.Expect(protojson.Unmarshal([]byte(streamJSON), s)).To(gomega.Succeed()) return s } func loadIndexRuleBinding() *databasev1.IndexRuleBinding { irb := &databasev1.IndexRuleBinding{} // preload index rule binding - Expect(protojson.Unmarshal([]byte(indexRuleBindingJSON), irb)).To(Succeed()) + gomega.Expect(protojson.Unmarshal([]byte(indexRuleBindingJSON), irb)).To(gomega.Succeed()) return irb } func loadIndexRule() *databasev1.IndexRule { ir := &databasev1.IndexRule{} data, err := indexRuleStore.ReadFile(indexRuleDir + "/db.instance.json") - Expect(err).NotTo(HaveOccurred()) - Expect(protojson.Unmarshal(data, ir)).To(Succeed()) + gomega.Expect(err).NotTo(gomega.HaveOccurred()) + gomega.Expect(protojson.Unmarshal(data, ir)).To(gomega.Succeed()) return ir } @@ -65,59 +65,59 @@ var _ = ginkgo.Describe("Utils", func() { }) ginkgo.AfterEach(func() { - Eventually(gleak.Goroutines, flags.EventuallyTimeout).ShouldNot(gleak.HaveLeaked(goods)) + gomega.Eventually(gleak.Goroutines, flags.EventuallyTimeout).ShouldNot(gleak.HaveLeaked(goods)) }) ginkgo.It("should be equal if nothing changed", func() { - Expect(checker(s, s)).Should(BeTrue()) + gomega.Expect(checker(s, s)).Should(gomega.BeTrue()) }) ginkgo.It("should not be equal if metadata.name changed", func() { newS := loadStream() newS.Metadata.Name = "new-name" - Expect(checker(s, newS)).Should(BeFalse()) + gomega.Expect(checker(s, newS)).Should(gomega.BeFalse()) }) ginkgo.It("should not be equal if metadata.group changed", func() { newS := loadStream() newS.GetMetadata().Group = "new-group" - Expect(checker(s, newS)).Should(BeFalse()) + gomega.Expect(checker(s, newS)).Should(gomega.BeFalse()) }) ginkgo.It("should not be equal if entity changed", func() { newS := loadStream() newS.GetEntity().TagNames = []string{"new-entity-tag"} - Expect(checker(s, newS)).Should(BeFalse()) + gomega.Expect(checker(s, newS)).Should(gomega.BeFalse()) }) ginkgo.It("should not be equal if tag name changed", func() { newS := loadStream() newS.GetTagFamilies()[0].Tags[0].Name = "binary-tag" - Expect(checker(s, newS)).Should(BeFalse()) + gomega.Expect(checker(s, newS)).Should(gomega.BeFalse()) }) ginkgo.It("should not be equal if tag type changed", func() { newS := loadStream() newS.GetTagFamilies()[0].Tags[0].Type = databasev1.TagType_TAG_TYPE_STRING - Expect(checker(s, newS)).Should(BeFalse()) + gomega.Expect(checker(s, newS)).Should(gomega.BeFalse()) }) ginkgo.It("should be equal if UpdatedAt changed", func() { newS := loadStream() newS.UpdatedAt = timestamppb.Now() - Expect(checker(s, newS)).Should(BeTrue()) + gomega.Expect(checker(s, newS)).Should(gomega.BeTrue()) }) ginkgo.It("should be equal if metadata.mod_revision changed", func() { newS := loadStream() newS.Metadata.ModRevision = 10000 - Expect(checker(s, newS)).Should(BeTrue()) + gomega.Expect(checker(s, newS)).Should(gomega.BeTrue()) }) ginkgo.It("should be equal if metadata.create_revision changed", func() { newS := loadStream() newS.Metadata.CreateRevision = 10000 - Expect(checker(s, newS)).Should(BeTrue()) + gomega.Expect(checker(s, newS)).Should(gomega.BeTrue()) }) }) @@ -133,47 +133,47 @@ var _ = ginkgo.Describe("Utils", func() { }) ginkgo.AfterEach(func() { - Eventually(gleak.Goroutines, flags.EventuallyTimeout).ShouldNot(gleak.HaveLeaked(goods)) + gomega.Eventually(gleak.Goroutines, flags.EventuallyTimeout).ShouldNot(gleak.HaveLeaked(goods)) }) ginkgo.It("should be equal if nothing changed", func() { - Expect(checker(irb, irb)).Should(BeTrue()) + gomega.Expect(checker(irb, irb)).Should(gomega.BeTrue()) }) ginkgo.It("should not be equal if metadata.name changed", func() { newIrb := loadIndexRuleBinding() newIrb.Metadata.Name = "new-name" - Expect(checker(irb, newIrb)).Should(BeFalse()) + gomega.Expect(checker(irb, newIrb)).Should(gomega.BeFalse()) }) ginkgo.It("should not be equal if metadata.group changed", func() { newIrb := loadIndexRuleBinding() newIrb.GetMetadata().Group = "new-group" - Expect(checker(irb, newIrb)).Should(BeFalse()) + gomega.Expect(checker(irb, newIrb)).Should(gomega.BeFalse()) }) ginkgo.It("should not be equal if rules changed", func() { newIrb := loadIndexRuleBinding() newIrb.Rules = []string{} - Expect(checker(irb, newIrb)).Should(BeFalse()) + gomega.Expect(checker(irb, newIrb)).Should(gomega.BeFalse()) }) ginkgo.It("should not be equal if beginAt changed", func() { newIrb := loadIndexRuleBinding() newIrb.BeginAt = timestamppb.New(time.Now()) - Expect(checker(irb, newIrb)).Should(BeFalse()) + gomega.Expect(checker(irb, newIrb)).Should(gomega.BeFalse()) }) ginkgo.It("should not be equal if expireAt changed", func() { newIrb := loadIndexRuleBinding() newIrb.ExpireAt = timestamppb.New(time.Now()) - Expect(checker(irb, newIrb)).Should(BeFalse()) + gomega.Expect(checker(irb, newIrb)).Should(gomega.BeFalse()) }) ginkgo.It("should be equal if UpdatedAtNanoseconds changed", func() { newIrb := loadIndexRuleBinding() newIrb.UpdatedAt = timestamppb.Now() - Expect(checker(irb, newIrb)).Should(BeTrue()) + gomega.Expect(checker(irb, newIrb)).Should(gomega.BeTrue()) }) }) @@ -188,41 +188,41 @@ var _ = ginkgo.Describe("Utils", func() { }) ginkgo.AfterEach(func() { - Eventually(gleak.Goroutines, flags.EventuallyTimeout).ShouldNot(gleak.HaveLeaked(goods)) + gomega.Eventually(gleak.Goroutines, flags.EventuallyTimeout).ShouldNot(gleak.HaveLeaked(goods)) }) ginkgo.It("should be equal if nothing changed", func() { - Expect(checker(ir, ir)).Should(BeTrue()) + gomega.Expect(checker(ir, ir)).Should(gomega.BeTrue()) }) ginkgo.It("should not be equal if metadata.name changed", func() { newIr := loadIndexRule() newIr.Metadata.Name = "new-name" - Expect(checker(ir, newIr)).Should(BeFalse()) + gomega.Expect(checker(ir, newIr)).Should(gomega.BeFalse()) }) ginkgo.It("should not be equal if metadata.id changed", func() { newIr := loadIndexRule() newIr.Metadata.Id = 1000 - Expect(checker(ir, newIr)).Should(BeTrue()) + gomega.Expect(checker(ir, newIr)).Should(gomega.BeTrue()) }) ginkgo.It("should not be equal if metadata.group changed", func() { newIr := loadIndexRule() newIr.GetMetadata().Group = "new-group" - Expect(checker(ir, newIr)).Should(BeFalse()) + gomega.Expect(checker(ir, newIr)).Should(gomega.BeFalse()) }) ginkgo.It("should not be equal if rules changed", func() { newIr := loadIndexRule() newIr.Tags = []string{"new-tag"} - Expect(checker(ir, newIr)).Should(BeFalse()) + gomega.Expect(checker(ir, newIr)).Should(gomega.BeFalse()) }) ginkgo.It("should be equal if UpdatedAtNanoseconds changed", func() { newIr := loadIndexRule() newIr.UpdatedAt = timestamppb.Now() - Expect(checker(ir, newIr)).Should(BeTrue()) + gomega.Expect(checker(ir, newIr)).Should(gomega.BeTrue()) }) }) }) diff --git a/banyand/query/processor_topn.go b/banyand/query/processor_topn.go index 48743d9d..081361e9 100644 --- a/banyand/query/processor_topn.go +++ b/banyand/query/processor_topn.go @@ -397,17 +397,15 @@ func (naggr *postNonAggregationProcessor) Put(entityValues tsdb.EntityValues, va return -1 } else if a.(*nonAggregatorItem).val == b.(*nonAggregatorItem).val { return 0 - } else { - return 1 } + return 1 } if a.(*nonAggregatorItem).val < b.(*nonAggregatorItem).val { return 1 } else if a.(*nonAggregatorItem).val == b.(*nonAggregatorItem).val { return 0 - } else { - return -1 } + return -1 }, false) naggr.timelines[timestampMillis] = timeline heap.Push(timeline, &nonAggregatorItem{val: val, key: key, values: entityValues}) diff --git a/banyand/stream/metadata_test.go b/banyand/stream/metadata_test.go index f0133ea5..af4e1694 100644 --- a/banyand/stream/metadata_test.go +++ b/banyand/stream/metadata_test.go @@ -20,8 +20,8 @@ package stream import ( "context" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" + g "github.com/onsi/ginkgo/v2" + "github.com/onsi/gomega" "github.com/onsi/gomega/gleak" commonv1 "github.com/apache/skywalking-banyandb/api/proto/banyandb/common/v1" @@ -29,104 +29,104 @@ import ( "github.com/apache/skywalking-banyandb/pkg/test/flags" ) -var _ = Describe("Metadata", func() { +var _ = g.Describe("Metadata", func() { var svcs *services var deferFn func() var goods []gleak.Goroutine - BeforeEach(func() { + g.BeforeEach(func() { goods = gleak.Goroutines() svcs, deferFn = setUp() - Eventually(func() bool { + gomega.Eventually(func() bool { _, ok := svcs.stream.schemaRepo.LoadGroup("default") return ok - }).WithTimeout(flags.EventuallyTimeout).Should(BeTrue()) + }).WithTimeout(flags.EventuallyTimeout).Should(gomega.BeTrue()) }) - AfterEach(func() { + g.AfterEach(func() { deferFn() - Eventually(gleak.Goroutines, flags.EventuallyTimeout).ShouldNot(gleak.HaveLeaked(goods)) + gomega.Eventually(gleak.Goroutines, flags.EventuallyTimeout).ShouldNot(gleak.HaveLeaked(goods)) }) - Context("Manage group", func() { - It("should close the group", func() { + g.Context("Manage group", func() { + g.It("should close the group", func() { deleted, err := svcs.metadataService.GroupRegistry().DeleteGroup(context.TODO(), "default") - Expect(err).ShouldNot(HaveOccurred()) - Expect(deleted).Should(BeTrue()) - Eventually(func() bool { + gomega.Expect(err).ShouldNot(gomega.HaveOccurred()) + gomega.Expect(deleted).Should(gomega.BeTrue()) + gomega.Eventually(func() bool { _, ok := svcs.stream.schemaRepo.LoadGroup("default") return ok - }).WithTimeout(flags.EventuallyTimeout).Should(BeFalse()) + }).WithTimeout(flags.EventuallyTimeout).Should(gomega.BeFalse()) }) - It("should add shards", func() { + g.It("should add shards", func() { groupSchema, err := svcs.metadataService.GroupRegistry().GetGroup(context.TODO(), "default") - Expect(err).ShouldNot(HaveOccurred()) - Expect(groupSchema).ShouldNot(BeNil()) + gomega.Expect(err).ShouldNot(gomega.HaveOccurred()) + gomega.Expect(groupSchema).ShouldNot(gomega.BeNil()) groupSchema.ResourceOpts.ShardNum = 4 - Expect(svcs.metadataService.GroupRegistry().UpdateGroup(context.TODO(), groupSchema)).Should(Succeed()) + gomega.Expect(svcs.metadataService.GroupRegistry().UpdateGroup(context.TODO(), groupSchema)).Should(gomega.Succeed()) - Eventually(func() bool { + gomega.Eventually(func() bool { group, ok := svcs.stream.schemaRepo.LoadGroup("default") if !ok { return false } return group.GetSchema().GetResourceOpts().GetShardNum() == 4 - }).WithTimeout(flags.EventuallyTimeout).Should(BeTrue()) + }).WithTimeout(flags.EventuallyTimeout).Should(gomega.BeTrue()) }) }) - Context("Manage stream", func() { - It("should pass smoke test", func() { - Eventually(func() bool { + g.Context("Manage stream", func() { + g.It("should pass smoke test", func() { + gomega.Eventually(func() bool { _, ok := svcs.stream.schemaRepo.loadStream(&commonv1.Metadata{ Name: "sw", Group: "default", }) return ok - }).WithTimeout(flags.EventuallyTimeout).Should(BeTrue()) + }).WithTimeout(flags.EventuallyTimeout).Should(gomega.BeTrue()) }) - It("should close the stream", func() { + g.It("should close the stream", func() { deleted, err := svcs.metadataService.StreamRegistry().DeleteStream(context.TODO(), &commonv1.Metadata{ Name: "sw", Group: "default", }) - Expect(err).ShouldNot(HaveOccurred()) - Expect(deleted).Should(BeTrue()) - Eventually(func() bool { + gomega.Expect(err).ShouldNot(gomega.HaveOccurred()) + gomega.Expect(deleted).Should(gomega.BeTrue()) + gomega.Eventually(func() bool { _, ok := svcs.stream.schemaRepo.loadStream(&commonv1.Metadata{ Name: "sw", Group: "default", }) return ok - }).WithTimeout(flags.EventuallyTimeout).Should(BeFalse()) + }).WithTimeout(flags.EventuallyTimeout).Should(gomega.BeFalse()) }) - Context("Update a stream", func() { + g.Context("Update a stream", func() { var streamSchema *databasev1.Stream - BeforeEach(func() { + g.BeforeEach(func() { var err error streamSchema, err = svcs.metadataService.StreamRegistry().GetStream(context.TODO(), &commonv1.Metadata{ Name: "sw", Group: "default", }) - Expect(err).ShouldNot(HaveOccurred()) - Expect(streamSchema).ShouldNot(BeNil()) + gomega.Expect(err).ShouldNot(gomega.HaveOccurred()) + gomega.Expect(streamSchema).ShouldNot(gomega.BeNil()) }) - It("should update a new stream", func() { - // Remove the first tag from the entity + g.It("should update a new stream", func() { + // Remove the first tag from the entg.Ity streamSchema.Entity.TagNames = streamSchema.Entity.TagNames[1:] entitySize := len(streamSchema.Entity.TagNames) modRevision, err := svcs.metadataService.StreamRegistry().UpdateStream(context.TODO(), streamSchema) - Expect(modRevision).ShouldNot(BeZero()) - Expect(err).ShouldNot(HaveOccurred()) + gomega.Expect(modRevision).ShouldNot(gomega.BeZero()) + gomega.Expect(err).ShouldNot(gomega.HaveOccurred()) - Eventually(func() bool { + gomega.Eventually(func() bool { val, ok := svcs.stream.schemaRepo.loadStream(&commonv1.Metadata{ Name: "sw", Group: "default", @@ -136,7 +136,7 @@ var _ = Describe("Metadata", func() { } return len(val.schema.GetEntity().TagNames) == entitySize - }).WithTimeout(flags.EventuallyTimeout).Should(BeTrue()) + }).WithTimeout(flags.EventuallyTimeout).Should(gomega.BeTrue()) }) }) }) diff --git a/banyand/stream/stream_suite_test.go b/banyand/stream/stream_suite_test.go index 82cb06b0..750135d0 100644 --- a/banyand/stream/stream_suite_test.go +++ b/banyand/stream/stream_suite_test.go @@ -21,8 +21,8 @@ import ( "context" "testing" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" + g "github.com/onsi/ginkgo/v2" + "github.com/onsi/gomega" "go.uber.org/mock/gomock" "github.com/apache/skywalking-banyandb/banyand/metadata" @@ -34,15 +34,15 @@ import ( ) func TestStream(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "Stream Suite") + gomega.RegisterFailHandler(g.Fail) + g.RunSpecs(t, "Stream Suite") } -var _ = BeforeSuite(func() { - Expect(logger.Init(logger.Logging{ +var _ = g.BeforeSuite(func() { + gomega.Expect(logger.Init(logger.Logging{ Env: "dev", Level: flags.LogLevel, - })).To(Succeed()) + })).To(gomega.Succeed()) }) type preloadStreamService struct { @@ -63,29 +63,29 @@ type services struct { } func setUp() (*services, func()) { - ctrl := gomock.NewController(GinkgoT()) - Expect(ctrl).ShouldNot(BeNil()) + ctrl := gomock.NewController(g.GinkgoT()) + gomega.Expect(ctrl).ShouldNot(gomega.BeNil()) // Init Pipeline pipeline := queue.Local() // Init Metadata Service metadataService, err := metadata.NewService(context.TODO()) - Expect(err).NotTo(HaveOccurred()) - Expect(err).NotTo(HaveOccurred()) + gomega.Expect(err).NotTo(gomega.HaveOccurred()) + gomega.Expect(err).NotTo(gomega.HaveOccurred()) // Init Stream Service streamService, err := NewService(context.TODO(), metadataService, pipeline) - Expect(err).NotTo(HaveOccurred()) + gomega.Expect(err).NotTo(gomega.HaveOccurred()) preloadStreamSvc := &preloadStreamService{metaSvc: metadataService} var flags []string metaPath, metaDeferFunc, err := test.NewSpace() - Expect(err).NotTo(HaveOccurred()) + gomega.Expect(err).NotTo(gomega.HaveOccurred()) flags = append(flags, "--metadata-root-path="+metaPath) rootPath, deferFunc, err := test.NewSpace() - Expect(err).NotTo(HaveOccurred()) + gomega.Expect(err).NotTo(gomega.HaveOccurred()) flags = append(flags, "--stream-root-path="+rootPath) listenClientURL, listenPeerURL, err := test.NewEtcdListenUrls() - Expect(err).NotTo(HaveOccurred()) + gomega.Expect(err).NotTo(gomega.HaveOccurred()) flags = append(flags, "--etcd-listen-client-url="+listenClientURL, "--etcd-listen-peer-url="+listenPeerURL) moduleDeferFunc := test.SetupModules( flags, diff --git a/bydbctl/Dockerfile b/bydbctl/Dockerfile index 3270ae15..e681d074 100644 --- a/bydbctl/Dockerfile +++ b/bydbctl/Dockerfile @@ -14,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM golang:1.20 AS base +FROM golang:1.21 AS base ENV GOPATH "/go" ENV GO111MODULE "on" diff --git a/bydbctl/Makefile b/bydbctl/Makefile index 093f6586..721922f4 100644 --- a/bydbctl/Makefile +++ b/bydbctl/Makefile @@ -53,4 +53,5 @@ release: $(BUILDS) include ../scripts/build/docker.mk include ../scripts/build/test.mk include ../scripts/build/lint.mk +include ../scripts/build/vendor.mk include ../scripts/build/help.mk diff --git a/bydbctl/internal/cmd/group_test.go b/bydbctl/internal/cmd/group_test.go index c600a165..5ab047a0 100644 --- a/bydbctl/internal/cmd/group_test.go +++ b/bydbctl/internal/cmd/group_test.go @@ -31,13 +31,15 @@ import ( "github.com/apache/skywalking-banyandb/pkg/test/setup" ) +const httpSchema = "http://" + var _ = Describe("Group", func() { var addr string var deferFunc func() var rootCmd *cobra.Command BeforeEach(func() { _, addr, deferFunc = setup.EmptyStandalone() - addr = "http://" + addr + addr = httpSchema + addr // extracting the operation of creating group rootCmd = &cobra.Command{Use: "root"} cmd.RootCmdFlags(rootCmd) diff --git a/bydbctl/internal/cmd/index_rule.go b/bydbctl/internal/cmd/index_rule.go index 1989ef3f..fe2227c9 100644 --- a/bydbctl/internal/cmd/index_rule.go +++ b/bydbctl/internal/cmd/index_rule.go @@ -30,7 +30,7 @@ import ( const indexRuleSchemaPath = "/api/v1/index-rule/schema" -var indexRuleSchemaPathWithParams = indexRuleSchemaPath + "/{group}/{name}" +var indexRuleSchemaPathWithParams = indexRuleSchemaPath + pathTemp func newIndexRuleCmd() *cobra.Command { indexRuleCmd := &cobra.Command{ diff --git a/bydbctl/internal/cmd/index_rule_binding.go b/bydbctl/internal/cmd/index_rule_binding.go index a9bf2a5d..57fb17df 100644 --- a/bydbctl/internal/cmd/index_rule_binding.go +++ b/bydbctl/internal/cmd/index_rule_binding.go @@ -30,7 +30,7 @@ import ( const indexRuleBindingSchemaPath = "/api/v1/index-rule-binding/schema" -var indexRuleBindingSchemaPathWithParams = indexRuleBindingSchemaPath + "/{group}/{name}" +var indexRuleBindingSchemaPathWithParams = indexRuleBindingSchemaPath + pathTemp func newIndexRuleBindingCmd() *cobra.Command { indexRuleBindingCmd := &cobra.Command{ diff --git a/bydbctl/internal/cmd/index_rule_binding_test.go b/bydbctl/internal/cmd/index_rule_binding_test.go index 8d681475..1c447ad4 100644 --- a/bydbctl/internal/cmd/index_rule_binding_test.go +++ b/bydbctl/internal/cmd/index_rule_binding_test.go @@ -38,7 +38,7 @@ var _ = Describe("IndexRuleBindingSchema Operation", func() { var rootCmd *cobra.Command BeforeEach(func() { _, addr, deferFunc = setup.EmptyStandalone() - addr = "http://" + addr + addr = httpSchema + addr // extracting the operation of creating indexRuleBinding schema rootCmd = &cobra.Command{Use: "root"} cmd.RootCmdFlags(rootCmd) diff --git a/bydbctl/internal/cmd/index_rule_test.go b/bydbctl/internal/cmd/index_rule_test.go index 2aae1aef..1f99bf25 100644 --- a/bydbctl/internal/cmd/index_rule_test.go +++ b/bydbctl/internal/cmd/index_rule_test.go @@ -38,7 +38,7 @@ var _ = Describe("IndexRuleSchema Operation", func() { var rootCmd *cobra.Command BeforeEach(func() { _, addr, deferFunc = setup.EmptyStandalone() - addr = "http://" + addr + addr = httpSchema + addr // extracting the operation of creating indexRule schema rootCmd = &cobra.Command{Use: "root"} cmd.RootCmdFlags(rootCmd) diff --git a/bydbctl/internal/cmd/measure.go b/bydbctl/internal/cmd/measure.go index 4be794e4..9c3f76aa 100644 --- a/bydbctl/internal/cmd/measure.go +++ b/bydbctl/internal/cmd/measure.go @@ -30,7 +30,7 @@ import ( const measureSchemaPath = "/api/v1/measure/schema" -var measureSchemaPathWithParams = measureSchemaPath + "/{group}/{name}" +var measureSchemaPathWithParams = measureSchemaPath + pathTemp func newMeasureCmd() *cobra.Command { measureCmd := &cobra.Command{ diff --git a/bydbctl/internal/cmd/measure_test.go b/bydbctl/internal/cmd/measure_test.go index 8df93f2b..1f538526 100644 --- a/bydbctl/internal/cmd/measure_test.go +++ b/bydbctl/internal/cmd/measure_test.go @@ -45,7 +45,7 @@ var _ = Describe("Measure Schema Operation", func() { var rootCmd *cobra.Command BeforeEach(func() { _, addr, deferFunc = setup.EmptyStandalone() - addr = "http://" + addr + addr = httpSchema + addr // extracting the operation of creating measure schema rootCmd = &cobra.Command{Use: "root"} cmd.RootCmdFlags(rootCmd) @@ -201,7 +201,7 @@ var _ = Describe("Measure Data Query", func() { interval = 1 * time.Millisecond endStr = now.Add(5 * time.Minute).Format(time.RFC3339) grpcAddr, addr, deferFunc = setup.Standalone() - addr = "http://" + addr + addr = httpSchema + addr rootCmd = &cobra.Command{Use: "root"} cmd.RootCmdFlags(rootCmd) }) diff --git a/bydbctl/internal/cmd/property_test.go b/bydbctl/internal/cmd/property_test.go index ee2eb81d..2ad70ab2 100644 --- a/bydbctl/internal/cmd/property_test.go +++ b/bydbctl/internal/cmd/property_test.go @@ -101,7 +101,7 @@ ttl: 30m helpers.UnmarshalYAML([]byte(p2YAML), p2Proto) BeforeEach(func() { _, addr, deferFunc = setup.EmptyStandalone() - addr = "http://" + addr + addr = httpSchema + addr // extracting the operation of creating property schema rootCmd = &cobra.Command{Use: "root"} cmd.RootCmdFlags(rootCmd) diff --git a/bydbctl/internal/cmd/root.go b/bydbctl/internal/cmd/root.go index c7956d8c..3750c49e 100644 --- a/bydbctl/internal/cmd/root.go +++ b/bydbctl/internal/cmd/root.go @@ -29,6 +29,8 @@ import ( "github.com/apache/skywalking-banyandb/pkg/version" ) +const pathTemp = "/{group}/{name}" + var ( filePath string name string diff --git a/bydbctl/internal/cmd/stream.go b/bydbctl/internal/cmd/stream.go index 803cb05d..59d6cd7f 100644 --- a/bydbctl/internal/cmd/stream.go +++ b/bydbctl/internal/cmd/stream.go @@ -31,7 +31,7 @@ import ( const streamSchemaPath = "/api/v1/stream/schema" -var streamSchemaPathWithParams = streamSchemaPath + "/{group}/{name}" +var streamSchemaPathWithParams = streamSchemaPath + pathTemp func getPath(path string) string { return viper.GetString("addr") + path diff --git a/bydbctl/internal/cmd/stream_test.go b/bydbctl/internal/cmd/stream_test.go index 3618b9fb..a46034c9 100644 --- a/bydbctl/internal/cmd/stream_test.go +++ b/bydbctl/internal/cmd/stream_test.go @@ -45,7 +45,7 @@ var _ = Describe("Stream Schema Operation", func() { var rootCmd *cobra.Command BeforeEach(func() { _, addr, deferFunc = setup.EmptyStandalone() - addr = "http://" + addr + addr = httpSchema + addr // extracting the operation of creating stream schema rootCmd = &cobra.Command{Use: "root"} cmd.RootCmdFlags(rootCmd) @@ -202,7 +202,7 @@ var _ = Describe("Stream Data Query", func() { interval = 500 * time.Millisecond endStr = now.Add(1 * time.Hour).Format(time.RFC3339) grpcAddr, addr, deferFunc = setup.Standalone() - addr = "http://" + addr + addr = httpSchema + addr rootCmd = &cobra.Command{Use: "root"} cmd.RootCmdFlags(rootCmd) }) diff --git a/dist/LICENSE b/dist/LICENSE index f479b15f..2f080859 100644 --- a/dist/LICENSE +++ b/dist/LICENSE @@ -185,13 +185,13 @@ Apache-2.0 licenses github.com/coreos/go-systemd/v22 v22.5.0 Apache-2.0 github.com/dgraph-io/ristretto v0.1.1 Apache-2.0 github.com/envoyproxy/protoc-gen-validate v0.10.1 Apache-2.0 - github.com/go-logr/logr v1.2.4 Apache-2.0 + github.com/go-logr/logr v1.3.0 Apache-2.0 github.com/go-logr/stdr v1.2.2 Apache-2.0 github.com/golang/glog v1.1.0 Apache-2.0 github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da Apache-2.0 github.com/google/btree v1.1.2 Apache-2.0 github.com/google/flatbuffers v1.12.1 Apache-2.0 - github.com/google/pprof v0.0.0-20230728192033-2ba5b33183c6 Apache-2.0 + github.com/google/pprof v0.0.0-20231023181126-ff6d637d2a7b Apache-2.0 github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 Apache-2.0 github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.0.0-rc.0 Apache-2.0 github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.0-rc.5 Apache-2.0 @@ -232,7 +232,7 @@ Apache-2.0 licenses go.opentelemetry.io/otel/sdk v1.16.0 Apache-2.0 go.opentelemetry.io/otel/trace v1.16.0 Apache-2.0 go.opentelemetry.io/proto/otlp v0.20.0 Apache-2.0 - go.uber.org/mock v0.2.0 Apache-2.0 + go.uber.org/mock v0.3.0 Apache-2.0 google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130 Apache-2.0 google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130 Apache-2.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130 Apache-2.0 @@ -271,7 +271,7 @@ BSD-3-Clause licenses github.com/gogo/protobuf v1.3.2 BSD-3-Clause github.com/golang/protobuf v1.5.3 BSD-3-Clause github.com/golang/snappy v0.0.3 BSD-3-Clause - github.com/google/go-cmp v0.5.9 BSD-3-Clause + github.com/google/go-cmp v0.6.0 BSD-3-Clause github.com/google/uuid v1.3.0 BSD-3-Clause github.com/grpc-ecosystem/grpc-gateway v1.16.0 BSD-3-Clause github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 BSD-3-Clause @@ -281,14 +281,14 @@ BSD-3-Clause licenses github.com/spf13/pflag v1.0.5 BSD-3-Clause github.com/tklauser/go-sysconf v0.3.11 BSD-3-Clause github.com/xhit/go-str2duration/v2 v2.1.0 BSD-3-Clause - golang.org/x/crypto v0.11.0 BSD-3-Clause + golang.org/x/crypto v0.14.0 BSD-3-Clause golang.org/x/exp v0.0.0-20220602145555-4a0574d9293f BSD-3-Clause - golang.org/x/mod v0.12.0 BSD-3-Clause - golang.org/x/net v0.12.0 BSD-3-Clause - golang.org/x/sys v0.10.0 BSD-3-Clause - golang.org/x/text v0.11.0 BSD-3-Clause + golang.org/x/mod v0.13.0 BSD-3-Clause + golang.org/x/net v0.17.0 BSD-3-Clause + golang.org/x/sys v0.13.0 BSD-3-Clause + golang.org/x/text v0.13.0 BSD-3-Clause golang.org/x/time v0.3.0 BSD-3-Clause - golang.org/x/tools v0.11.1 BSD-3-Clause + golang.org/x/tools v0.14.0 BSD-3-Clause google.golang.org/protobuf v1.31.0 BSD-3-Clause ======================================================================== @@ -332,8 +332,8 @@ MIT licenses github.com/mattn/go-colorable v0.1.13 MIT github.com/mattn/go-isatty v0.0.19 MIT github.com/mitchellh/mapstructure v1.5.0 MIT - github.com/onsi/ginkgo/v2 v2.11.0 MIT - github.com/onsi/gomega v1.27.10 MIT + github.com/onsi/ginkgo/v2 v2.13.0 MIT + github.com/onsi/gomega v1.29.0 MIT github.com/pelletier/go-toml/v2 v2.0.8 MIT github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c MIT github.com/robfig/cron/v3 v3.0.1 MIT diff --git a/docs/installation.md b/docs/installation.md index a8d9e542..8799cc68 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -15,8 +15,8 @@ Get binaries from the [download](https://skywalking.apache.org/downloads/). Users who want to build a binary from sources have to set up: -* Go 1.20 -* Node 18.16 +* Go 1.21 +* Node 20.9 * Git >= 2.30 * Linux, macOS or Windows+WSL2 * GNU make diff --git a/docs/installation/binaries.md b/docs/installation/binaries.md index 697eecc9..58a64cfc 100644 --- a/docs/installation/binaries.md +++ b/docs/installation/binaries.md @@ -12,8 +12,8 @@ Get binaries from the [download](https://skywalking.apache.org/downloads/). Users who want to build a binary from sources have to set up: -* Go 1.20 -* Node 18.16 +* Go 1.21 +* Node 20.9 * Git >= 2.30 * Linux, macOS or Windows+WSL2 * GNU make diff --git a/go.mod b/go.mod index 1dcf2b57..ed666ac6 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/apache/skywalking-banyandb -go 1.20 +go 1.21 require ( github.com/RoaringBitmap/roaring v1.3.0 @@ -12,7 +12,7 @@ require ( github.com/envoyproxy/protoc-gen-validate v0.10.1 github.com/go-chi/chi/v5 v5.0.8 github.com/go-resty/resty/v2 v2.7.0 - github.com/google/go-cmp v0.5.9 + github.com/google/go-cmp v0.6.0 github.com/google/uuid v1.3.0 github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.0.0-rc.0 github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.0-rc.5 @@ -21,8 +21,8 @@ require ( github.com/hashicorp/golang-lru/v2 v2.0.4 github.com/kkdai/maglev v0.2.0 github.com/oklog/run v1.1.0 - github.com/onsi/ginkgo/v2 v2.11.0 - github.com/onsi/gomega v1.27.10 + github.com/onsi/ginkgo/v2 v2.13.0 + github.com/onsi/gomega v1.29.0 github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.16.0 github.com/rs/zerolog v1.29.1 @@ -34,10 +34,10 @@ require ( github.com/zenizh/go-capturer v0.0.0-20211219060012-52ea6c8fed04 go.etcd.io/etcd/client/v3 v3.5.9 go.etcd.io/etcd/server/v3 v3.5.9 - go.uber.org/mock v0.2.0 + go.uber.org/mock v0.3.0 go.uber.org/multierr v1.11.0 golang.org/x/exp v0.0.0-20220602145555-4a0574d9293f - golang.org/x/mod v0.12.0 + golang.org/x/mod v0.13.0 google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130 google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130 google.golang.org/grpc v1.56.2 @@ -68,7 +68,7 @@ require ( github.com/dgryski/go-metro v0.0.0-20180109044635-280f6062b5bc // indirect github.com/dustin/go-humanize v1.0.1 github.com/fsnotify/fsnotify v1.6.0 // indirect - github.com/go-logr/logr v1.2.4 // indirect + github.com/go-logr/logr v1.3.0 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.2.6 // indirect github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect @@ -80,7 +80,7 @@ require ( github.com/golang/snappy v0.0.3 github.com/google/btree v1.1.2 // indirect github.com/google/flatbuffers v1.12.1 // indirect - github.com/google/pprof v0.0.0-20230728192033-2ba5b33183c6 // indirect + github.com/google/pprof v0.0.0-20231023181126-ff6d637d2a7b // indirect github.com/gorilla/websocket v1.5.0 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect @@ -138,12 +138,12 @@ require ( go.opentelemetry.io/proto/otlp v0.20.0 // indirect go.uber.org/atomic v1.11.0 // indirect go.uber.org/zap v1.24.0 - golang.org/x/crypto v0.11.0 // indirect - golang.org/x/net v0.12.0 // indirect - golang.org/x/sys v0.10.0 // indirect - golang.org/x/text v0.11.0 // indirect + golang.org/x/crypto v0.14.0 // indirect + golang.org/x/net v0.17.0 // indirect + golang.org/x/sys v0.13.0 // indirect + golang.org/x/text v0.13.0 // indirect golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.11.1 // indirect + golang.org/x/tools v0.14.0 // indirect google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect diff --git a/go.sum b/go.sum index 29be62ee..0e4e1387 100644 --- a/go.sum +++ b/go.sum @@ -25,7 +25,9 @@ cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUM cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= cloud.google.com/go/compute v1.20.1 h1:6aKEtlUiwEpJzM001l0yFkpXmUVXaN8W+fbkb2AZNbg= +cloud.google.com/go/compute v1.20.1/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= +cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= @@ -91,7 +93,9 @@ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGX github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 h1:/inchEIKaYC1Akx+H+gqO04wryn5h75LSazbRlnya1k= +github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/datadriven v1.0.2 h1:H9MtNqVoVhvd9nCBwOyDjUEdZCREqbIdCJD93PBm/jA= +github.com/cockroachdb/datadriven v1.0.2/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= @@ -128,6 +132,7 @@ github.com/envoyproxy/protoc-gen-validate v0.10.1 h1:c0g45+xCJhdgFGw7a5QAfdS4byA github.com/envoyproxy/protoc-gen-validate v0.10.1/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= +github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= @@ -140,8 +145,8 @@ github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2 github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= -github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.3.0 h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY= +github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= @@ -209,8 +214,9 @@ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= @@ -225,8 +231,8 @@ github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20230728192033-2ba5b33183c6 h1:ZgoomqkdjGbQ3+qQXCkvYMCDvGDNg2k5JJDjjdTB6jY= -github.com/google/pprof v0.0.0-20230728192033-2ba5b33183c6/go.mod h1:Jh3hGz2jkYak8qXPD19ryItVnUgpgeqzdkY/D0EaeuA= +github.com/google/pprof v0.0.0-20231023181126-ff6d637d2a7b h1:RMpPgZTSApbPf7xaVel+QkoGPRLFLrwFO89uDUHEGf0= +github.com/google/pprof v0.0.0-20231023181126-ff6d637d2a7b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= @@ -282,9 +288,11 @@ github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxv github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/leesper/go_rng v0.0.0-20190531154944-a612b043e353 h1:X/79QL0b4YJVO5+OsPH9rF2u428CIrGL/jLmPsoOQQ4= github.com/leesper/go_rng v0.0.0-20190531154944-a612b043e353/go.mod h1:N0SVk0uhy+E1PZ3C9ctsPRlvOPAFPkCNlcPBDkt0N3U= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4= @@ -314,10 +322,10 @@ github.com/mschoch/smat v0.2.0 h1:8imxQsjDm8yFEAVBe7azKmKSgzSkZXDuKkSq9374khM= github.com/mschoch/smat v0.2.0/go.mod h1:kc9mz7DoBKqDyiRL7VZN8KvXQMWeTaVnttLRXOlotKw= github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= -github.com/onsi/ginkgo/v2 v2.11.0 h1:WgqUCUt/lT6yXoQ8Wef0fsNn5cAuMK7+KT9UFRz2tcU= -github.com/onsi/ginkgo/v2 v2.11.0/go.mod h1:ZhrRA5XmEE3x3rhlzamx/JJvujdZoJ2uvgI7kR0iZvM= -github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= -github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= +github.com/onsi/ginkgo/v2 v2.13.0 h1:0jY9lJquiL8fcf3M4LAXN5aMlS/b2BV86HFFPCPMgE4= +github.com/onsi/ginkgo/v2 v2.13.0/go.mod h1:TE309ZR8s5FsKKpuB1YAQYBzCaAfUgatB/xlT/ETL/o= +github.com/onsi/gomega v1.29.0 h1:KIA/t2t5UBzoirT4H9tsML45GEbo3ouUnBHsCfD2tVg= +github.com/onsi/gomega v1.29.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= @@ -344,6 +352,7 @@ github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzG github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= +github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= github.com/rs/zerolog v1.29.1 h1:cO+d60CHkknCbvzEWxP0S9K6KqyTjrCNUy1LdQLCGPc= github.com/rs/zerolog v1.29.1/go.mod h1:Le6ESbR7hc+DP6Lt1THiV8CQSdkkNrd3R0XbEgp3ZBU= @@ -473,8 +482,9 @@ go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= -go.uber.org/mock v0.2.0 h1:TaP3xedm7JaAgScZO7tlvlKrqT0p7I6OsdGB5YNSMDU= -go.uber.org/mock v0.2.0/go.mod h1:J0y0rp9L3xiff1+ZBfKxlC1fz2+aO16tw0tsDOixfuM= +go.uber.org/goleak v1.2.1/go.mod h1:qlT2yGI9QafXHhZZLxlSuNsMw3FFLxBr+tBRlmO1xH4= +go.uber.org/mock v0.3.0 h1:3mUxI1No2/60yUYax92Pt8eNOEecx2D3lcXZh2NEZJo= +go.uber.org/mock v0.3.0/go.mod h1:a6FSlNadKUHUa9IP5Vyt1zh4fC7uAwxMutEAscFbkZc= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= @@ -489,8 +499,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA= -golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= +golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= +golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -530,8 +540,8 @@ 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.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= -golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.13.0 h1:I/DsJXRlw/8l/0c24sM9yb0T4z9liZTduXvdAWYiysY= +golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -568,8 +578,8 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20211029224645-99673261e6eb/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211123203042-d83791d6bcd9/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.12.0 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50= -golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= +golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= +golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -580,6 +590,7 @@ golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8= +golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -642,8 +653,8 @@ golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA= -golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= +golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -653,8 +664,8 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4= -golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -712,8 +723,8 @@ golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.11.1 h1:ojD5zOW8+7dOGzdnNgersm8aPfcDjhMp12UfG93NIMc= -golang.org/x/tools v0.11.1/go.mod h1:anzJrxPjNtfgiYQYirP2CPGzGLxrH2u2QBhn6Bf3qY8= +golang.org/x/tools v0.14.0 h1:jvNa2pY0M4r62jkRQ6RwEZZyPcymeL9XZMLBbV7U2nc= +golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -831,6 +842,7 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= diff --git a/pkg/Makefile b/pkg/Makefile index 043bc210..bc53ec1b 100644 --- a/pkg/Makefile +++ b/pkg/Makefile @@ -22,4 +22,5 @@ include ../scripts/build/base.mk include ../scripts/build/generate_go.mk include ../scripts/build/test.mk include ../scripts/build/lint.mk +include ../scripts/build/vendor.mk include ../scripts/build/help.mk diff --git a/pkg/convert/string.go b/pkg/convert/string.go index 5a24db8d..d57c40a1 100644 --- a/pkg/convert/string.go +++ b/pkg/convert/string.go @@ -18,21 +18,23 @@ package convert import ( - "reflect" "unsafe" ) // StringToBytes converts string to bytes. +// It work well until the referenced memory won’t be changed. func StringToBytes(s string) (b []byte) { - bh := (*reflect.SliceHeader)(unsafe.Pointer(&b)) - sh := (*reflect.StringHeader)(unsafe.Pointer(&s)) - bh.Data = sh.Data - bh.Cap = sh.Len - bh.Len = sh.Len - return b + if s == "" { + return nil + } + return unsafe.Slice(unsafe.StringData(s), len(s)) } // BytesToString converts bytes to string. +// It work well until the referenced memory won’t be changed. func BytesToString(b []byte) string { - return *(*string)(unsafe.Pointer(&b)) + if len(b) == 0 { + return "" + } + return unsafe.String(unsafe.SliceData(b), len(b)) } diff --git a/pkg/flow/streaming/sliding_window_test.go b/pkg/flow/streaming/sliding_window_test.go index 83f98879..2a3366b0 100644 --- a/pkg/flow/streaming/sliding_window_test.go +++ b/pkg/flow/streaming/sliding_window_test.go @@ -21,8 +21,8 @@ import ( "context" "time" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" + g "github.com/onsi/ginkgo/v2" + "github.com/onsi/gomega" "github.com/apache/skywalking-banyandb/pkg/flow" "github.com/apache/skywalking-banyandb/pkg/test/flags" @@ -53,7 +53,7 @@ func (i *intSumAggregator) Dirty() bool { return i.dirty } -var _ = Describe("Sliding Window", func() { +var _ = g.Describe("Sliding Window", func() { var ( baseTS time.Time snk *slice @@ -65,46 +65,46 @@ var _ = Describe("Sliding Window", func() { } ) - BeforeEach(func() { + g.BeforeEach(func() { baseTS = time.Now() }) - JustBeforeEach(func() { + g.JustBeforeEach(func() { snk = newSlice() slidingWindows = NewTumblingTimeWindows(time.Second * 15).(*tumblingTimeWindows) slidingWindows.aggregationFactory = aggrFactory slidingWindows.windowCount = 2 - Expect(slidingWindows.Setup(context.TODO())).Should(Succeed()) - Expect(snk.Setup(context.TODO())).Should(Succeed()) + gomega.Expect(slidingWindows.Setup(context.TODO())).Should(gomega.Succeed()) + gomega.Expect(snk.Setup(context.TODO())).Should(gomega.Succeed()) slidingWindows.Exec(snk) for _, r := range input { slidingWindows.In() <- r } }) - AfterEach(func() { + g.AfterEach(func() { close(slidingWindows.in) - Expect(slidingWindows.Teardown(context.TODO())).Should(Succeed()) + gomega.Expect(slidingWindows.Teardown(context.TODO())).Should(gomega.Succeed()) }) - When("input a single element", func() { - BeforeEach(func() { + g.When("input a single element", func() { + g.BeforeEach(func() { input = []flow.StreamRecord{ flow.NewStreamRecord(1, baseTS.UnixMilli()), } }) - It("Should not trigger", func() { - Eventually(func(g Gomega) { - g.Expect(snk.Value()).Should(BeEmpty()) - }).WithTimeout(flags.EventuallyTimeout).Should(Succeed()) + g.It("Should not trigger", func() { + gomega.Eventually(func(g gomega.Gomega) { + g.Expect(snk.Value()).Should(gomega.BeEmpty()) + }).WithTimeout(flags.EventuallyTimeout).Should(gomega.Succeed()) }) }) - When("input two elements within the same bucket", func() { - BeforeEach(func() { + g.When("input two elements within the same bucket", func() { + g.BeforeEach(func() { baseTS = time.Unix(baseTS.Unix()-baseTS.Unix()%15, 0) input = []flow.StreamRecord{ flow.NewStreamRecord(1, baseTS.UnixMilli()), @@ -112,15 +112,15 @@ var _ = Describe("Sliding Window", func() { } }) - It("Should not trigger", func() { - Eventually(func(g Gomega) { - g.Expect(snk.Value()).Should(BeEmpty()) - }).WithTimeout(flags.EventuallyTimeout).Should(Succeed()) + g.It("Should not trigger", func() { + gomega.Eventually(func(g gomega.Gomega) { + g.Expect(snk.Value()).Should(gomega.BeEmpty()) + }).WithTimeout(flags.EventuallyTimeout).Should(gomega.Succeed()) }) }) - When("input two elements within adjacent buckets", func() { - BeforeEach(func() { + g.When("input two elements within adjacent buckets", func() { + g.BeforeEach(func() { baseTS = time.Unix(baseTS.Unix()-baseTS.Unix()%15+14, 0) input = []flow.StreamRecord{ flow.NewStreamRecord(1, baseTS.UnixMilli()), @@ -128,10 +128,10 @@ var _ = Describe("Sliding Window", func() { } }) - It("Should trigger once due to the expiry", func() { - Eventually(func(g Gomega) { - g.Expect(snk.Value()).Should(HaveLen(1)) - }).WithTimeout(flags.EventuallyTimeout).Should(Succeed()) + g.It("Should trigger once due to the expiry", func() { + gomega.Eventually(func(g gomega.Gomega) { + g.Expect(snk.Value()).Should(gomega.HaveLen(1)) + }).WithTimeout(flags.EventuallyTimeout).Should(gomega.Succeed()) }) }) }) diff --git a/pkg/flow/streaming/streaming_test.go b/pkg/flow/streaming/streaming_test.go index 437af1ec..a2a7057b 100644 --- a/pkg/flow/streaming/streaming_test.go +++ b/pkg/flow/streaming/streaming_test.go @@ -22,8 +22,8 @@ import ( "sync" "time" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" + g "github.com/onsi/ginkgo/v2" + "github.com/onsi/gomega" "github.com/apache/skywalking-banyandb/pkg/flow" "github.com/apache/skywalking-banyandb/pkg/test/flags" @@ -40,81 +40,81 @@ func numberRange(begin, count int) []int { return result } -var _ = Describe("Streaming", func() { +var _ = g.Describe("Streaming", func() { var ( f flow.Flow snk *slice errCh <-chan error ) - AfterEach(func() { - Expect(f.Close()).Should(Succeed()) - Consistently(errCh).ShouldNot(Receive()) + g.AfterEach(func() { + gomega.Expect(f.Close()).Should(gomega.Succeed()) + gomega.Consistently(errCh).ShouldNot(gomega.Receive()) }) - Context("With Filter operator", func() { + g.Context("With Filter operator", func() { var ( filter flow.UnaryFunc[bool] input = flowTest.NewSlice(numberRange(0, 10)) ) - JustBeforeEach(func() { + g.JustBeforeEach(func() { snk = newSlice() f = New(input). Filter(filter). To(snk) errCh = f.Open() - Expect(errCh).ShouldNot(BeNil()) + gomega.Expect(errCh).ShouldNot(gomega.BeNil()) }) - When("Given a odd filter", func() { - BeforeEach(func() { + g.When("Given a odd filter", func() { + g.BeforeEach(func() { filter = func(ctx context.Context, i interface{}) bool { return i.(int)%2 == 0 } }) - It("Should filter odd number", func() { - Eventually(func(g Gomega) { - g.Expect(snk.Value()).Should(Equal([]interface{}{ + g.It("Should filter odd number", func() { + gomega.Eventually(func(g gomega.Gomega) { + g.Expect(snk.Value()).Should(gomega.Equal([]interface{}{ flow.NewStreamRecordWithoutTS(0), flow.NewStreamRecordWithoutTS(2), flow.NewStreamRecordWithoutTS(4), flow.NewStreamRecordWithoutTS(6), flow.NewStreamRecordWithoutTS(8), })) - }, flags.EventuallyTimeout).Should(Succeed()) + }, flags.EventuallyTimeout).Should(gomega.Succeed()) }) }) }) - Context("With Mapper operator", func() { + g.Context("With Mapper operator", func() { var ( mapper flow.UnaryFunc[any] input = flowTest.NewSlice(numberRange(0, 10)) ) - JustBeforeEach(func() { + g.JustBeforeEach(func() { snk = newSlice() f = New(input). Map(mapper). To(snk) errCh = f.Open() - Expect(errCh).ShouldNot(BeNil()) + gomega.Expect(errCh).ShouldNot(gomega.BeNil()) }) - When("given a multiplier", func() { - BeforeEach(func() { + g.When("given a multiplier", func() { + g.BeforeEach(func() { mapper = func(ctx context.Context, i interface{}) interface{} { return i.(int) * 2 } }) - It("Should multiply by 2", func() { - Eventually(func(g Gomega) { - g.Expect(snk.Value()).Should(Equal([]interface{}{ + g.It("Should multiply by 2", func() { + gomega.Eventually(func(g gomega.Gomega) { + g.Expect(snk.Value()).Should(gomega.Equal([]interface{}{ flow.NewStreamRecordWithoutTS(0), flow.NewStreamRecordWithoutTS(2), flow.NewStreamRecordWithoutTS(4), @@ -126,12 +126,12 @@ var _ = Describe("Streaming", func() { flow.NewStreamRecordWithoutTS(16), flow.NewStreamRecordWithoutTS(18), })) - }, flags.EventuallyTimeout).Should(Succeed()) + }, flags.EventuallyTimeout).Should(gomega.Succeed()) }) }) }) - Context("With TopN operator order by ASC", func() { + g.Context("With TopN operator order by ASC", func() { type record struct { service string instance string @@ -140,7 +140,7 @@ var _ = Describe("Streaming", func() { var input []flow.StreamRecord - JustBeforeEach(func() { + g.JustBeforeEach(func() { snk = newSlice() f = New(flowTest.NewSlice(input)). @@ -157,11 +157,11 @@ var _ = Describe("Streaming", func() { To(snk) errCh = f.Open() - Expect(errCh).ShouldNot(BeNil()) + gomega.Expect(errCh).ShouldNot(gomega.BeNil()) }) - When("Bottom3", func() { - BeforeEach(func() { + g.When("Bottom3", func() { + g.BeforeEach(func() { input = []flow.StreamRecord{ flow.NewStreamRecord(&record{"e2e-service-provider", "instance-001", 10000}, 1000), flow.NewStreamRecord(&record{"e2e-service-consumer", "instance-001", 9900}, 2000), @@ -174,27 +174,27 @@ var _ = Describe("Streaming", func() { } }) - It("Should take bottom 3 elements", func() { - Eventually(func(g Gomega) { - g.Expect(len(snk.Value())).Should(BeNumerically(">=", 1)) + g.It("Should take bottom 3 elements", func() { + gomega.Eventually(func(g gomega.Gomega) { + g.Expect(len(snk.Value())).Should(gomega.BeNumerically(">=", 1)) // e2e-service-consumer Group - g.Expect(snk.Value()[0].(flow.StreamRecord).Data().(map[string][]*Tuple2)["e2e-service-consumer"]).Should(BeEquivalentTo([]*Tuple2{ + g.Expect(snk.Value()[0].(flow.StreamRecord).Data().(map[string][]*Tuple2)["e2e-service-consumer"]).Should(gomega.BeEquivalentTo([]*Tuple2{ {int64(9500), flow.NewStreamRecord(flow.Data{"e2e-service-consumer", int64(9500)}, 7000)}, {int64(9600), flow.NewStreamRecord(flow.Data{"e2e-service-consumer", int64(9600)}, 6000)}, {int64(9700), flow.NewStreamRecord(flow.Data{"e2e-service-consumer", int64(9700)}, 4000)}, })) // e2e-service-provider Group - g.Expect(snk.Value()[0].(flow.StreamRecord).Data().(map[string][]*Tuple2)["e2e-service-provider"]).Should(BeEquivalentTo([]*Tuple2{ + g.Expect(snk.Value()[0].(flow.StreamRecord).Data().(map[string][]*Tuple2)["e2e-service-provider"]).Should(gomega.BeEquivalentTo([]*Tuple2{ {int64(9700), flow.NewStreamRecord(flow.Data{"e2e-service-provider", int64(9700)}, 5000)}, {int64(9800), flow.NewStreamRecord(flow.Data{"e2e-service-provider", int64(9800)}, 3000)}, {int64(10000), flow.NewStreamRecord(flow.Data{"e2e-service-provider", int64(10000)}, 1000)}, })) - }).WithTimeout(flags.EventuallyTimeout).Should(Succeed()) + }).WithTimeout(flags.EventuallyTimeout).Should(gomega.Succeed()) }) }) }) - Context("With TopN operator order by DESC", func() { + g.Context("With TopN operator order by DESC", func() { type record struct { service string instance string @@ -203,7 +203,7 @@ var _ = Describe("Streaming", func() { var input []flow.StreamRecord - JustBeforeEach(func() { + g.JustBeforeEach(func() { snk = newSlice() f = New(flowTest.NewSlice(input)). @@ -220,11 +220,11 @@ var _ = Describe("Streaming", func() { To(snk) errCh = f.Open() - Expect(errCh).ShouldNot(BeNil()) + gomega.Expect(errCh).ShouldNot(gomega.BeNil()) }) - When("Top3", func() { - BeforeEach(func() { + g.When("Top3", func() { + g.BeforeEach(func() { input = []flow.StreamRecord{ flow.NewStreamRecord(&record{"e2e-service-provider", "instance-001", 10000}, 1000), flow.NewStreamRecord(&record{"e2e-service-consumer", "instance-001", 9900}, 2000), @@ -237,22 +237,22 @@ var _ = Describe("Streaming", func() { } }) - It("Should take top 3 elements", func() { - Eventually(func(g Gomega) { - g.Expect(len(snk.Value())).Should(BeNumerically(">=", 1)) + g.It("Should take top 3 elements", func() { + gomega.Eventually(func(g gomega.Gomega) { + g.Expect(len(snk.Value())).Should(gomega.BeNumerically(">=", 1)) // e2e-service-consumer Group - g.Expect(snk.Value()[0].(flow.StreamRecord).Data().(map[string][]*Tuple2)["e2e-service-consumer"]).Should(BeEquivalentTo([]*Tuple2{ + g.Expect(snk.Value()[0].(flow.StreamRecord).Data().(map[string][]*Tuple2)["e2e-service-consumer"]).Should(gomega.BeEquivalentTo([]*Tuple2{ {int64(9900), flow.NewStreamRecord(flow.Data{"e2e-service-consumer", int64(9900)}, 2000)}, {int64(9700), flow.NewStreamRecord(flow.Data{"e2e-service-consumer", int64(9700)}, 4000)}, {int64(9600), flow.NewStreamRecord(flow.Data{"e2e-service-consumer", int64(9600)}, 6000)}, })) // e2e-service-provider Group - g.Expect(snk.Value()[0].(flow.StreamRecord).Data().(map[string][]*Tuple2)["e2e-service-provider"]).Should(BeEquivalentTo([]*Tuple2{ + g.Expect(snk.Value()[0].(flow.StreamRecord).Data().(map[string][]*Tuple2)["e2e-service-provider"]).Should(gomega.BeEquivalentTo([]*Tuple2{ {int64(10000), flow.NewStreamRecord(flow.Data{"e2e-service-provider", int64(10000)}, 1000)}, {int64(9800), flow.NewStreamRecord(flow.Data{"e2e-service-provider", int64(9800)}, 3000)}, {int64(9700), flow.NewStreamRecord(flow.Data{"e2e-service-provider", int64(9700)}, 5000)}, })) - }).WithTimeout(flags.EventuallyTimeout).Should(Succeed()) + }).WithTimeout(flags.EventuallyTimeout).Should(gomega.Succeed()) }) }) }) diff --git a/pkg/fs/local_file_system.go b/pkg/fs/local_file_system.go index 3a5b89c3..76df0b1f 100644 --- a/pkg/fs/local_file_system.go +++ b/pkg/fs/local_file_system.go @@ -253,11 +253,10 @@ func (file *LocalFile) Size() (int64, error) { Code: permissionError, Message: fmt.Sprintf("There is not enough permission, file name: %s, error message: %s", file.file.Name(), err), } - } else { - return -1, &FileSystemError{ - Code: otherError, - Message: fmt.Sprintf("Get file size error, file name: %s, error message: %s", file.file.Name(), err), - } + } + return -1, &FileSystemError{ + Code: otherError, + Message: fmt.Sprintf("Get file size error, file name: %s, error message: %s", file.file.Name(), err), } } return fileInfo.Size(), nil diff --git a/pkg/Makefile b/scripts/build/vendor.mk similarity index 81% copy from pkg/Makefile copy to scripts/build/vendor.mk index 043bc210..5b72c4d6 100644 --- a/pkg/Makefile +++ b/scripts/build/vendor.mk @@ -16,10 +16,10 @@ # under the License. # -NAME := pkg -include ../scripts/build/base.mk -include ../scripts/build/generate_go.mk -include ../scripts/build/test.mk -include ../scripts/build/lint.mk -include ../scripts/build/help.mk +##@ Vendor update + +.PHONY: vendor-update +vendor-update: ## Update vendors + go get -u -d ./... + go mod tidy -compat=1.21 diff --git a/scripts/build/version.mk b/scripts/build/version.mk index 8f212fbd..9f0e32c6 100644 --- a/scripts/build/version.mk +++ b/scripts/build/version.mk @@ -16,17 +16,17 @@ # under the License. # -BUF_VERSION := v1.23.1 +BUF_VERSION := v1.27.2 PROTOC_GEN_GO_VERSION := v1.31.0 PROTOC_GEN_GO_GRPC_VERSION := v1.3.0 PROTOC_GEN_DOC_VERSION := v1.5.1 -GRPC_GATEWAY_VERSION := v2.16.0 +GRPC_GATEWAY_VERSION := v2.18.0 PROTOC_GEN_VALIDATE_VERSION := v1.0.2 -GOLANGCI_LINT_VERSION := v1.53.3 -REVIVE_VERSION := v1.3.2 -LICENSE_EYE_VERSION := 5dfa68f93380a5e57259faaf95088b7f133b5778 +GOLANGCI_LINT_VERSION := v1.55.1 +REVIVE_VERSION := v1.3.4 +LICENSE_EYE_VERSION := a790ab8dd23a7f861c18bd6aaa9b012e3a234bce -MOCKGEN_VERSION := v0.2.0 +MOCKGEN_VERSION := v0.3.0 -GINKGO_VERSION := v2.11.0 \ No newline at end of file +GINKGO_VERSION := v2.13.0 \ No newline at end of file diff --git a/scripts/ci/check/version_test.go b/scripts/ci/check/version_test.go index 3085dd5d..680e6798 100644 --- a/scripts/ci/check/version_test.go +++ b/scripts/ci/check/version_test.go @@ -31,7 +31,7 @@ import ( ) const ( - GoVersion = "1.20" + GoVersion = "1.21" CPUType = 8 ) diff --git a/test/Makefile b/test/Makefile index 25db9470..8840363f 100644 --- a/test/Makefile +++ b/test/Makefile @@ -22,4 +22,5 @@ include ../scripts/build/base.mk include ../scripts/build/generate_go.mk include ../scripts/build/test.mk include ../scripts/build/lint.mk +include ../scripts/build/vendor.mk include ../scripts/build/help.mk diff --git a/test/stress/cases/istio/istio_suite_test.go b/test/stress/cases/istio/istio_suite_test.go index b6ac0957..9b3d4cb0 100644 --- a/test/stress/cases/istio/istio_suite_test.go +++ b/test/stress/cases/istio/istio_suite_test.go @@ -30,8 +30,8 @@ import ( "time" "github.com/dustin/go-humanize" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" + g "github.com/onsi/ginkgo/v2" + "github.com/onsi/gomega" "github.com/pkg/errors" "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" @@ -50,8 +50,8 @@ import ( ) func TestIstio(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "Istio Suite", Label("integration", "slow")) + gomega.RegisterFailHandler(g.Fail) + g.RunSpecs(t, "Istio Suite", g.Label("integration", "slow")) } var ( @@ -59,69 +59,69 @@ var ( heapProfileFile *os.File ) -var _ = BeforeSuite(func() { +var _ = g.BeforeSuite(func() { // Create CPU profile file var err error cpuProfileFile, err = os.Create("cpu.prof") - Expect(err).NotTo(HaveOccurred()) + gomega.Expect(err).NotTo(gomega.HaveOccurred()) // Start CPU profiling err = pprof.StartCPUProfile(cpuProfileFile) - Expect(err).NotTo(HaveOccurred()) + gomega.Expect(err).NotTo(gomega.HaveOccurred()) // Create heap profile file heapProfileFile, err = os.Create("heap.prof") - Expect(err).NotTo(HaveOccurred()) + gomega.Expect(err).NotTo(gomega.HaveOccurred()) }) -var _ = AfterSuite(func() { +var _ = g.AfterSuite(func() { // Stop CPU profiling pprof.StopCPUProfile() // Write heap profile err := pprof.WriteHeapProfile(heapProfileFile) - Expect(err).NotTo(HaveOccurred()) + gomega.Expect(err).NotTo(gomega.HaveOccurred()) // Close profile files err = cpuProfileFile.Close() - Expect(err).NotTo(HaveOccurred()) + gomega.Expect(err).NotTo(gomega.HaveOccurred()) err = heapProfileFile.Close() - Expect(err).NotTo(HaveOccurred()) + gomega.Expect(err).NotTo(gomega.HaveOccurred()) }) -var _ = Describe("Istio", func() { - BeforeEach(func() { - Expect(logger.Init(logger.Logging{ +var _ = g.Describe("Istio", func() { + g.BeforeEach(func() { + gomega.Expect(logger.Init(logger.Logging{ Env: "dev", Level: flags.LogLevel, - })).To(Succeed()) + })).To(gomega.Succeed()) }) - It("should pass", func() { + g.It("should pass", func() { path, deferFn, err := test.NewSpace() - Expect(err).NotTo(HaveOccurred()) - DeferCleanup(func() { + gomega.Expect(err).NotTo(gomega.HaveOccurred()) + g.DeferCleanup(func() { printDiskUsage(path+"/measure", 5, 0) deferFn() }) var ports []int ports, err = test.AllocateFreePorts(4) - Expect(err).NotTo(HaveOccurred()) + gomega.Expect(err).NotTo(gomega.HaveOccurred()) addr, _, closerServerFunc := setup.ClosableStandaloneWithSchemaLoaders( path, ports, []setup.SchemaLoader{&preloadService{name: "oap"}}, "--logging-level", "info") - DeferCleanup(closerServerFunc) - Eventually(helpers.HealthCheck(addr, 10*time.Second, 10*time.Second, grpc.WithTransportCredentials(insecure.NewCredentials())), - flags.EventuallyTimeout).Should(Succeed()) + g.DeferCleanup(closerServerFunc) + gomega.Eventually(helpers.HealthCheck(addr, 10*time.Second, 10*time.Second, grpc.WithTransportCredentials(insecure.NewCredentials())), + flags.EventuallyTimeout).Should(gomega.Succeed()) bc := &clientCounter{} conn, err := grpchelper.Conn(addr, 10*time.Second, grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithStatsHandler(bc)) - Expect(err).NotTo(HaveOccurred()) - DeferCleanup(func() { + gomega.Expect(err).NotTo(gomega.HaveOccurred()) + g.DeferCleanup(func() { conn.Close() }) startTime := time.Now() writtenCount, err := ReadAndWriteFromFile(extractData(), conn) - Expect(err).To(Succeed()) + gomega.Expect(err).To(gomega.Succeed()) endTime := time.Now() fmt.Printf("written %d items in %s\n", writtenCount, endTime.Sub(startTime).String()) diff --git a/ui/Makefile b/ui/Makefile index 3bac6cda..aed91b15 100644 --- a/ui/Makefile +++ b/ui/Makefile @@ -81,6 +81,11 @@ license-check: $(LICENSE_EYE) ## Check license header license-fix: $(LICENSE_EYE) ## Fix license header issues $(LICENSE_EYE) header fix +.PHONY: license-dep license-dep:$(LICENSE_EYE) @rm -rf licenses $(LICENSE_EYE) dep resolve -o ui-licenses -s LICENSE.tpl + +.PHONY: vendor-update +vendor-update: + npm update diff --git a/ui/package-lock.json b/ui/package-lock.json index 7c82ac7d..4fb2d787 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -29,7 +29,7 @@ "vite": "^3.2.7" }, "engines": { - "node": "18.16" + "node": "20.9" } }, "node_modules/@antfu/utils": { diff --git a/ui/package.json b/ui/package.json index c07a2e30..bb27e70d 100644 --- a/ui/package.json +++ b/ui/package.json @@ -2,7 +2,7 @@ "name": "ui", "version": "0.1.0", "engines": { - "node": "18.16" + "node": "20.9" }, "scripts": { "dev": "vite",