From 73cc5f7c215f6f2079608fdbf32420f28ee36347 Mon Sep 17 00:00:00 2001 From: Cgol9 Date: Thu, 5 Dec 2024 01:10:04 -0700 Subject: [PATCH 1/3] SortByWithCount FTSearchOptions fix (#3201) * SortByWithCount FTSearchOptions fix * FTSearch test fix * Another FTSearch test fix * Another FTSearch test fix --------- Co-authored-by: Christopher Golling --- search_commands.go | 2 +- search_test.go | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/search_commands.go b/search_commands.go index e4df0b6fc..ede084e4e 100644 --- a/search_commands.go +++ b/search_commands.go @@ -1775,7 +1775,7 @@ func FTSearchQuery(query string, options *FTSearchOptions) SearchQuery { } } if options.SortByWithCount { - queryArgs = append(queryArgs, "WITHCOUT") + queryArgs = append(queryArgs, "WITHCOUNT") } } if options.LimitOffset >= 0 && options.Limit > 0 { diff --git a/search_test.go b/search_test.go index 48b9aa39b..e267c8ae8 100644 --- a/search_test.go +++ b/search_test.go @@ -125,6 +125,10 @@ var _ = Describe("RediSearch commands Resp 2", Label("search"), func() { Expect(res2.Docs[1].ID).To(BeEquivalentTo("doc2")) Expect(res2.Docs[0].ID).To(BeEquivalentTo("doc3")) + res3, err := client.FTSearchWithArgs(ctx, "num", "foo", &redis.FTSearchOptions{NoContent: true, SortBy: []redis.FTSearchSortBy{sortBy2}, SortByWithCount: true}).Result() + Expect(err).NotTo(HaveOccurred()) + Expect(res3.Total).To(BeEquivalentTo(int64(0))) + }) It("should FTCreate and FTSearch example", Label("search", "ftcreate", "ftsearch"), func() { From caa2592db731428e542670e8e6d3ccfa60603e8e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 5 Dec 2024 10:11:12 +0200 Subject: [PATCH 2/3] chore(deps): bump codecov/codecov-action from 4 to 5 (#3196) Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v4...v5) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com> --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5007423a4..c1d04b820 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -39,7 +39,7 @@ jobs: run: make test - name: Upload to Codecov - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v5 with: files: coverage.txt token: ${{ secrets.CODECOV_TOKEN }} \ No newline at end of file From 91dddc2e1108c779e8c5b85fd667029873c95172 Mon Sep 17 00:00:00 2001 From: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com> Date: Mon, 16 Dec 2024 19:04:39 +0200 Subject: [PATCH 3/3] Test against Redis CE (#3191) * Create workflow that tests go-redis against docker * Add docker compose file * Add docker compose file * Change command in docker compose * Load modules locally * test varios redis versions * add env var to test-redis-enterprise action * cleaning code * cleaning code --- .github/workflows/build.yml | 45 ++++++++++++++++++++- .github/workflows/test-redis-enterprise.yml | 1 + docker-compose.yml | 21 ++++++++++ main_test.go | 5 ++- 4 files changed, 69 insertions(+), 3 deletions(-) create mode 100644 docker-compose.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c1d04b820..7578e962e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -42,4 +42,47 @@ jobs: uses: codecov/codecov-action@v5 with: files: coverage.txt - token: ${{ secrets.CODECOV_TOKEN }} \ No newline at end of file + token: ${{ secrets.CODECOV_TOKEN }} + + test-redis-ce: + name: test-redis-ce + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + redis_version: + - "8.0-M01" + - "7.4.1" + - "7.2.6" + - "6.2.16" + go-version: + - "1.19.x" + - "1.20.x" + - "1.21.x" + + steps: + - name: Set up ${{ matrix.go-version }} + uses: actions/setup-go@v5 + with: + go-version: ${{ matrix.go-version }} + + - name: Checkout code + uses: actions/checkout@v4 + + # Set up Docker Compose environment + - name: Set up Docker Compose environment + run: | + docker compose --profile all up -d + + - name: Run tests + env: + USE_CONTAINERIZED_REDIS: "true" + RE_CLUSTER: "true" + run: | + go test \ + --ginkgo.skip-file="ring_test.go" \ + --ginkgo.skip-file="sentinel_test.go" \ + --ginkgo.skip-file="osscluster_test.go" \ + --ginkgo.skip-file="pubsub_test.go" \ + --ginkgo.skip-file="gears_commands_test.go" \ + --ginkgo.label-filter='!NonRedisEnterprise' diff --git a/.github/workflows/test-redis-enterprise.yml b/.github/workflows/test-redis-enterprise.yml index 940f0eae7..1cb36b8d2 100644 --- a/.github/workflows/test-redis-enterprise.yml +++ b/.github/workflows/test-redis-enterprise.yml @@ -47,6 +47,7 @@ jobs: - name: Test env: RE_CLUSTER: "1" + USE_CONTAINERIZED_REDIS: "1" run: | go test \ --ginkgo.skip-file="ring_test.go" \ diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 000000000..a641e4d3b --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,21 @@ +--- + +services: + + redis-stanalone: + image: redislabs/client-libs-test:8.0-M02 + container_name: redis-standalone + environment: + - REDIS_CLUSTER=no + - PORT=6379 + - TLS_PORT=6666 + command: --loadmodule /usr/local/lib/redis/modules/redisbloom.so --loadmodule /usr/local/lib/redis/modules/redisearch.so --loadmodule /usr/local/lib/redis/modules/redistimeseries.so --loadmodule /usr/local/lib/redis/modules/rejson.so + ports: + - 6379:6379 + - 6380:6379 + - 6666:6666 # TLS port + volumes: + - "./dockers/redis-standalone:/redis/work" + profiles: + - standalone + - all diff --git a/main_test.go b/main_test.go index 19e944446..44f8e6829 100644 --- a/main_test.go +++ b/main_test.go @@ -66,6 +66,7 @@ var cluster = &clusterScenario{ } var RECluster = false +var USE_CONTAINERIZED_REDIS = false func registerProcess(port string, p *redisProcess) { if processes == nil { @@ -82,8 +83,8 @@ var _ = BeforeSuite(func() { } var err error RECluster, _ = strconv.ParseBool(os.Getenv("RE_CLUSTER")) - - if !RECluster { + USE_CONTAINERIZED_REDIS, _ = strconv.ParseBool(os.Getenv("USE_CONTAINERIZED_REDIS")) + if !RECluster || !USE_CONTAINERIZED_REDIS { redisMain, err = startRedis(redisPort) Expect(err).NotTo(HaveOccurred())