From 4018de34779230de5f5977e78fbc420205b4d627 Mon Sep 17 00:00:00 2001 From: Shoham Elias <116083498+shohamazon@users.noreply.github.com> Date: Tue, 9 Jul 2024 17:30:58 +0300 Subject: [PATCH 01/12] Fix the way we check repo owner on cd workflows (#1898) --- .github/workflows/go.yml | 1 - .github/workflows/java-cd.yml | 4 ++-- .github/workflows/java.yml | 1 - .github/workflows/npm-cd.yml | 7 ++----- .github/workflows/pypi-cd.yml | 4 ++-- 5 files changed, 6 insertions(+), 11 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 9b782d8fb7..c10450f8a6 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -108,7 +108,6 @@ jobs: run: make test build-amazonlinux-latest: - if: github.repository_owner == 'valkey-io' strategy: # Run all jobs fail-fast: false diff --git a/.github/workflows/java-cd.yml b/.github/workflows/java-cd.yml index c19dead61f..ac8e771025 100644 --- a/.github/workflows/java-cd.yml +++ b/.github/workflows/java-cd.yml @@ -25,7 +25,7 @@ permissions: jobs: start-self-hosted-runner: - if: github.repository_owner == 'valkey-io' + if: github.event.pull_request.head.repo.owner.login == 'valkey-io' runs-on: ubuntu-latest environment: AWS_ACTIONS steps: @@ -43,7 +43,7 @@ jobs: create-binaries-to-publish: needs: start-self-hosted-runner - if: github.repository_owner == 'valkey-io' + if: github.event.pull_request.head.repo.owner.login == 'valkey-io' timeout-minutes: 35 env: JAVA_VERSION: '11' diff --git a/.github/workflows/java.yml b/.github/workflows/java.yml index dd8a7fc4af..2d35608975 100644 --- a/.github/workflows/java.yml +++ b/.github/workflows/java.yml @@ -119,7 +119,6 @@ jobs: java/client/build/reports/spotbugs/** build-amazonlinux-latest: - if: github.repository_owner == 'valkey-io' strategy: # Run all jobs fail-fast: false diff --git a/.github/workflows/npm-cd.yml b/.github/workflows/npm-cd.yml index 4031ada90f..280552fd83 100644 --- a/.github/workflows/npm-cd.yml +++ b/.github/workflows/npm-cd.yml @@ -30,13 +30,10 @@ permissions: jobs: start-self-hosted-runner: - if: github.repository_owner == 'valkey-io' + if: github.event.pull_request.head.repo.owner.login == 'valkey-io' runs-on: ubuntu-latest environment: AWS_ACTIONS steps: - - run: echo $OWNER - env: - OWNER: ${{ github.repository_owner }} - name: Checkout uses: actions/checkout@v4 with: @@ -67,7 +64,7 @@ jobs: publish-binaries: needs: [start-self-hosted-runner, load-platform-matrix] - if: github.repository_owner == 'valkey-io' + if: github.event.pull_request.head.repo.owner.login == 'valkey-io' name: Publish packages to NPM runs-on: ${{ matrix.build.RUNNER }} container: diff --git a/.github/workflows/pypi-cd.yml b/.github/workflows/pypi-cd.yml index bcbcbf108f..488db71948 100644 --- a/.github/workflows/pypi-cd.yml +++ b/.github/workflows/pypi-cd.yml @@ -46,7 +46,7 @@ jobs: start-self-hosted-runner: - if: github.repository_owner == 'valkey-io' + if: github.event.pull_request.head.repo.owner.login == 'valkey-io' runs-on: ubuntu-latest environment: AWS_ACTIONS steps: @@ -61,7 +61,7 @@ jobs: publish-binaries: needs: [start-self-hosted-runner, load-platform-matrix] - if: github.repository_owner == 'valkey-io' + if: github.event.pull_request.head.repo.owner.login == 'valkey-io' name: Publish packages to PyPi runs-on: ${{ matrix.build.RUNNER }} timeout-minutes: 25 From b4e4dda2321730f934518f5effe7b9056629e1cc Mon Sep 17 00:00:00 2001 From: GilboaAWS Date: Tue, 9 Jul 2024 11:38:57 +0000 Subject: [PATCH 02/12] Fix Node & Python renaming to valkey-glide (#1879) Signed-off-by: GilboaAWS --- csharp/README.md | 4 ++-- go/README.md | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 go/README.md diff --git a/csharp/README.md b/csharp/README.md index 56bb300463..390b146adc 100644 --- a/csharp/README.md +++ b/csharp/README.md @@ -1,6 +1,6 @@ # C# wrapper -The C# wrapper is currently not in a usable state. +The C# wrapper is currently not in a usable state and is under development. # Valkey GLIDE @@ -12,7 +12,7 @@ Refer to the [Supported Engine Versions table](https://github.com/valkey-io/valk ## Current Status -We've made GLIDE for Redis an open-source project, and are releasing it in Preview to the community to gather feedback, and actively collaborate on the project roadmap. We welcome questions and contributions from all Redis stakeholders. +We've made Valkey GLIDE an open-source project, and are releasing it in Preview to the community to gather feedback, and actively collaborate on the project roadmap. We welcome questions and contributions from all Redis stakeholders. This preview release is recommended for testing purposes only. # Getting Started - C# Wrapper diff --git a/go/README.md b/go/README.md new file mode 100644 index 0000000000..cbab727b42 --- /dev/null +++ b/go/README.md @@ -0,0 +1,23 @@ +# GO wrapper + +The GO wrapper is currently not in a usable state and is under development. + +# Valkey GLIDE + +Valkey General Language Independent Driver for the Enterprise (GLIDE), is an open-source Valkey client library. Valkey GLIDE is one of the official client libraries for Valkey, and it supports all Valkey commands. Valkey GLIDE supports Valkey 7.2 and above, and Redis open-source 6.2, 7.0 and 7.2. Application programmers use Valkey GLIDE to safely and reliably connect their applications to Valkey- and Redis OSS- compatible services. Valkey GLIDE is designed for reliability, optimized performance, and high-availability, for Valkey and Redis OSS based applications. It is sponsored and supported by AWS, and is pre-configured with best practices learned from over a decade of operating Redis OSS-compatible services used by hundreds of thousands of customers. To help ensure consistency in application development and operations, Valkey GLIDE is implemented using a core driver framework, written in Rust, with language specific extensions. This design ensures consistency in features across languages and reduces overall complexity. + +## Supported Engine Versions + +Refer to the [Supported Engine Versions table](https://github.com/valkey-io/valkey-glide/blob/main/README.md#supported-engine-versions) for details. + +## Current Status + +# Getting Started - GO Wrapper + +## GO supported version + +## Basic Example + +### Building & Testing + +Development instructions for local building & testing the package are in the [DEVELOPER.md](DEVELOPER.md) file. From 62ca39e01eadcc23bb876dd774028bbf18a6508b Mon Sep 17 00:00:00 2001 From: Shoham Elias <116083498+shohamazon@users.noreply.github.com> Date: Tue, 9 Jul 2024 18:46:14 +0300 Subject: [PATCH 03/12] Revert "Fix the way we check repo owner on cd workflows (#1898)" (#1900) Signed-off-by: Shoham Elias --- .github/workflows/go.yml | 1 + .github/workflows/java-cd.yml | 4 ++-- .github/workflows/java.yml | 1 + .github/workflows/npm-cd.yml | 4 ++-- .github/workflows/pypi-cd.yml | 4 ++-- 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index c10450f8a6..9b782d8fb7 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -108,6 +108,7 @@ jobs: run: make test build-amazonlinux-latest: + if: github.repository_owner == 'valkey-io' strategy: # Run all jobs fail-fast: false diff --git a/.github/workflows/java-cd.yml b/.github/workflows/java-cd.yml index ac8e771025..c19dead61f 100644 --- a/.github/workflows/java-cd.yml +++ b/.github/workflows/java-cd.yml @@ -25,7 +25,7 @@ permissions: jobs: start-self-hosted-runner: - if: github.event.pull_request.head.repo.owner.login == 'valkey-io' + if: github.repository_owner == 'valkey-io' runs-on: ubuntu-latest environment: AWS_ACTIONS steps: @@ -43,7 +43,7 @@ jobs: create-binaries-to-publish: needs: start-self-hosted-runner - if: github.event.pull_request.head.repo.owner.login == 'valkey-io' + if: github.repository_owner == 'valkey-io' timeout-minutes: 35 env: JAVA_VERSION: '11' diff --git a/.github/workflows/java.yml b/.github/workflows/java.yml index 2d35608975..dd8a7fc4af 100644 --- a/.github/workflows/java.yml +++ b/.github/workflows/java.yml @@ -119,6 +119,7 @@ jobs: java/client/build/reports/spotbugs/** build-amazonlinux-latest: + if: github.repository_owner == 'valkey-io' strategy: # Run all jobs fail-fast: false diff --git a/.github/workflows/npm-cd.yml b/.github/workflows/npm-cd.yml index 280552fd83..67986fd4c2 100644 --- a/.github/workflows/npm-cd.yml +++ b/.github/workflows/npm-cd.yml @@ -30,7 +30,7 @@ permissions: jobs: start-self-hosted-runner: - if: github.event.pull_request.head.repo.owner.login == 'valkey-io' + if: github.repository_owner == 'valkey-io' runs-on: ubuntu-latest environment: AWS_ACTIONS steps: @@ -64,7 +64,7 @@ jobs: publish-binaries: needs: [start-self-hosted-runner, load-platform-matrix] - if: github.event.pull_request.head.repo.owner.login == 'valkey-io' + if: github.repository_owner == 'valkey-io' name: Publish packages to NPM runs-on: ${{ matrix.build.RUNNER }} container: diff --git a/.github/workflows/pypi-cd.yml b/.github/workflows/pypi-cd.yml index 488db71948..bcbcbf108f 100644 --- a/.github/workflows/pypi-cd.yml +++ b/.github/workflows/pypi-cd.yml @@ -46,7 +46,7 @@ jobs: start-self-hosted-runner: - if: github.event.pull_request.head.repo.owner.login == 'valkey-io' + if: github.repository_owner == 'valkey-io' runs-on: ubuntu-latest environment: AWS_ACTIONS steps: @@ -61,7 +61,7 @@ jobs: publish-binaries: needs: [start-self-hosted-runner, load-platform-matrix] - if: github.event.pull_request.head.repo.owner.login == 'valkey-io' + if: github.repository_owner == 'valkey-io' name: Publish packages to PyPi runs-on: ${{ matrix.build.RUNNER }} timeout-minutes: 25 From 2e12a5787ce25e4b650fdce1194afdab0c60fff2 Mon Sep 17 00:00:00 2001 From: Alexey Temnikov Date: Tue, 9 Jul 2024 09:04:52 -0700 Subject: [PATCH 04/12] Update README.md Added notice - Maven is pending Signed-off-by: Alexey Temnikov --- java/README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/java/README.md b/java/README.md index 42f98747d9..f5d88fb898 100644 --- a/java/README.md +++ b/java/README.md @@ -45,6 +45,9 @@ java -version ### Adding the client to your project +_Note: Publishing to Maven is pending; the examples below will be available once artifacts are published. You can also download artifacts from the [GitHub release](https://github.com/valkey-io/valkey-glide/releases/tag/v1.0.0) and add the jar file to the project._ + + Refer to https://central.sonatype.com/artifact/io.valkey/valkey-glide. Once set up, you can run the basic examples. From a2d37bfebf8cfcc43889e6a58fc4a431187f7cd8 Mon Sep 17 00:00:00 2001 From: jonathanl-bq <72158117+jonathanl-bq@users.noreply.github.com> Date: Tue, 9 Jul 2024 12:50:04 -0700 Subject: [PATCH 05/12] Update roadmap link (#1906) Signed-off-by: Jonathan Louie --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f440fbf329..c9a1e52bb2 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Valkey GLIDE is API-compatible with the following engine versions: | Redis | V | V | V | ## Current Status -In this release, Valkey GLIDE is available for Python and Java. Support for Node.js is actively under development, with plans to include more programming languages in the future. We're tracking future features on the [roadmap](https://github.com/orgs/aws/projects/187/). +In this release, Valkey GLIDE is available for Python and Java. Support for Node.js is actively under development, with plans to include more programming languages in the future. We're tracking future features on the [roadmap](https://github.com/orgs/valkey-io/projects/5). ## Getting Started - [Java](./java/README.md) From 54240018cfc169c5ea161b9f724985e5634cc004 Mon Sep 17 00:00:00 2001 From: Alexey Temnikov Date: Tue, 9 Jul 2024 19:42:17 -0700 Subject: [PATCH 06/12] Update README.md - Removed Maven Notice Signed-off-by: Alexey Temnikov --- java/README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/java/README.md b/java/README.md index f5d88fb898..42f98747d9 100644 --- a/java/README.md +++ b/java/README.md @@ -45,9 +45,6 @@ java -version ### Adding the client to your project -_Note: Publishing to Maven is pending; the examples below will be available once artifacts are published. You can also download artifacts from the [GitHub release](https://github.com/valkey-io/valkey-glide/releases/tag/v1.0.0) and add the jar file to the project._ - - Refer to https://central.sonatype.com/artifact/io.valkey/valkey-glide. Once set up, you can run the basic examples. From e73ad149b5aa7965a205e4fe26da76ab6d8098a2 Mon Sep 17 00:00:00 2001 From: Roger Neate Date: Tue, 9 Jul 2024 15:14:02 -0700 Subject: [PATCH 07/12] Java: Updates `glide-for-redis` references Signed-off-by: Roger Neate --- java/DEVELOPER.md | 2 +- java/client/build.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/java/DEVELOPER.md b/java/DEVELOPER.md index c0613b10a8..91a6b39793 100644 --- a/java/DEVELOPER.md +++ b/java/DEVELOPER.md @@ -77,7 +77,7 @@ Before starting this step, make sure you've installed all software dependencies. ```bash VERSION=0.1.0 # You can modify this to other released version or set it to "main" to get the unstable branch git clone --branch ${VERSION} https://github.com/valkey-io/valkey-glide.git - cd glide-for-redis/java + cd valkey-glide/java ``` 2. Initialize git submodule: ```bash diff --git a/java/client/build.gradle b/java/client/build.gradle index e66d59f43b..15d207c019 100644 --- a/java/client/build.gradle +++ b/java/client/build.gradle @@ -231,7 +231,7 @@ tasks.withType(Test) { } jar { - archiveBaseName = "glide-for-redis" + archiveBaseName = "valkey-glide" // placeholder will be renamed by platform+arch on the release workflow java-cd.yml archiveClassifier = "placeholder" } From 3aab85ee6e4c48a9e47b862811971adccdfb67bb Mon Sep 17 00:00:00 2001 From: barshaul Date: Wed, 10 Jul 2024 11:55:04 +0000 Subject: [PATCH 08/12] Update README.md of node.js Signed-off-by: barshaul --- node/README.md | 64 +------------------------------------------------- 1 file changed, 1 insertion(+), 63 deletions(-) diff --git a/node/README.md b/node/README.md index 1e40e6efc4..6d98b6a856 100644 --- a/node/README.md +++ b/node/README.md @@ -15,74 +15,12 @@ This preview release is recommended for testing purposes only. ## System Requirements -The beta release of Valkey GLIDE was tested on Intel x86_64 using Ubuntu 22.04.1, Amazon Linux 2023 (AL2023), and macOS 12.7. +In this release, Valkey GLIDE is available for Python and Java. Support for Node.js is actively under development, with plans to include more programming languages in the future. We're tracking future features on the [roadmap](https://github.com/orgs/aws/projects/187/). ## NodeJS supported version Node.js 16.20 or higher. -## Installation and Setup - -### Installing via Package Manager (npm) - -To install GLIDE for Redis using `npm`, follow these steps: - -1. Open your terminal. -2. Execute the command below: - ```bash - $ npm install @aws/glide-for-redis - ``` -3. After installation, confirm the client is installed by running: - ```bash - $ npm list - myApp@ /home/ubuntu/myApp - └── @aws/glide-for-redis@0.1.0 - ``` - -## Basic Examples - -#### Cluster Redis: - -```node -import { GlideClusterClient } from "@aws/glide-for-redis"; - -const addresses = [ - { - host: "redis.example.com", - port: 6379, - }, -]; -const client = await GlideClusterClient.createClient({ - addresses: addresses, -}); -await client.set("foo", "bar"); -const value = await client.get("foo"); -client.close(); -``` - -#### Standalone Redis: - -```node -import { GlideClient } from "@aws/glide-for-redis"; - -const addresses = [ - { - host: "redis_primary.example.com", - port: 6379, - }, - { - host: "redis_replica.example.com", - port: 6379, - }, -]; -const client = await GlideClient.createClient({ - addresses: addresses, -}); -await client.set("foo", "bar"); -const value = await client.get("foo"); -client.close(); -``` - ## Documentation Visit our [wiki](https://github.com/valkey-io/valkey-glide/wiki/NodeJS-wrapper) for examples and further details on TLS, Read strategy, Timeouts and various other configurations. From 52e54b2e7b068b137c4a396519cd6c3aed26c960 Mon Sep 17 00:00:00 2001 From: Roger Neate <68124370+tetrachromium@users.noreply.github.com> Date: Thu, 4 Jul 2024 08:59:13 -0700 Subject: [PATCH 09/12] Ignores VSCode-created `bin` directories (#402) --- java/.gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/java/.gitignore b/java/.gitignore index be32d08fc9..0c5c26d954 100644 --- a/java/.gitignore +++ b/java/.gitignore @@ -9,3 +9,6 @@ protobuf # Must be ignored as part of Maven Central publishing process gradle.properties + +# Ignore VSCode JUnit extension directories +bin/ From 5d7a0cfcb8adfd88d3542bcc89fcdbfbf6d460ed Mon Sep 17 00:00:00 2001 From: adarovadya Date: Wed, 10 Jul 2024 15:23:20 +0300 Subject: [PATCH 10/12] Format: fix readme file (#1904) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c9a1e52bb2..57217f0d6b 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Valkey GLIDE is API-compatible with the following engine versions: | Engine Type | 6.2 | 7.0 | 7.2 | |-----------------------|-------|-------|-------| -| Valkey | V | V | V | +| Valkey | - | - | V | | Redis | V | V | V | ## Current Status From 97b13e34df4b52cc5ab3bd7499dd02269cdc2a3c Mon Sep 17 00:00:00 2001 From: barshaul Date: Wed, 10 Jul 2024 08:50:22 +0000 Subject: [PATCH 11/12] CD: Fix the descrpition of the release version in workflow_dispatch Signed-off-by: barshaul --- .github/workflows/java-cd.yml | 2 +- .github/workflows/npm-cd.yml | 2 +- .github/workflows/pypi-cd.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/java-cd.yml b/.github/workflows/java-cd.yml index c19dead61f..1dba670476 100644 --- a/.github/workflows/java-cd.yml +++ b/.github/workflows/java-cd.yml @@ -13,7 +13,7 @@ on: workflow_dispatch: inputs: version: - description: 'The release version of GLIDE, formatted as v*.*.* or v*.*.*-rc*' + description: 'The release version of GLIDE, formatted as *.*.* or *.*.*-rc*' required: true concurrency: diff --git a/.github/workflows/npm-cd.yml b/.github/workflows/npm-cd.yml index 67986fd4c2..25db537ab5 100644 --- a/.github/workflows/npm-cd.yml +++ b/.github/workflows/npm-cd.yml @@ -18,7 +18,7 @@ on: workflow_dispatch: inputs: version: - description: 'The release version of GLIDE, formatted as v*.*.* or v*.*.*-rc*' + description: 'The release version of GLIDE, formatted as *.*.* or *.*.*-rc*' required: true concurrency: diff --git a/.github/workflows/pypi-cd.yml b/.github/workflows/pypi-cd.yml index bcbcbf108f..b45992e6e7 100644 --- a/.github/workflows/pypi-cd.yml +++ b/.github/workflows/pypi-cd.yml @@ -17,7 +17,7 @@ on: workflow_dispatch: inputs: version: - description: 'The release version of GLIDE, formatted as v*.*.* or v*.*.*-rc*' + description: 'The release version of GLIDE, formatted as *.*.* or *.*.*-rc*' required: true concurrency: From 029e208a02115454c87113615cdd33abd97e1c78 Mon Sep 17 00:00:00 2001 From: barshaul Date: Thu, 11 Jul 2024 13:09:18 +0000 Subject: [PATCH 12/12] Merge from redis-rs: Critical bug fix: Fix cluster-mode TLS disabled client to properly take received IPs when DNS is expanded #173 Signed-off-by: barshaul --- submodules/redis-rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/redis-rs b/submodules/redis-rs index ca36bd4b93..ee3119d17d 160000 --- a/submodules/redis-rs +++ b/submodules/redis-rs @@ -1 +1 @@ -Subproject commit ca36bd4b9311e9ff97639d7a2d54f315a3884486 +Subproject commit ee3119d17dfafc57aba154be991efaccbe2833f9