Skip to content

Commit 83bc7a8

Browse files
authored
Support Valkey image:latest and Redis:latest for test (#258)
* set valkey:latest Signed-off-by: zunda <zunda.dev@gmail.com> * add redis (#2) Signed-off-by: yazawa hiroki <zunda.dev@gmail.com> Signed-off-by: zunda <zunda.dev@gmail.com> * change to redis Signed-off-by: zunda <zunda.dev@gmail.com> * add isValkey remove space Signed-off-by: zunda <zunda.dev@gmail.com> * add getHello to identify server Signed-off-by: zunda <zunda.dev@gmail.com> * format Signed-off-by: zunda <zunda.dev@gmail.com> --------- Signed-off-by: zunda <zunda.dev@gmail.com> Signed-off-by: yazawa hiroki <zunda.dev@gmail.com>
1 parent b813e95 commit 83bc7a8

File tree

2 files changed

+19
-10
lines changed

2 files changed

+19
-10
lines changed

.github/workflows/ci.yml

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,21 @@ concurrency:
1010
cancel-in-progress: true
1111

1212
env:
13-
VALKEY_HOSTNAME: valkey
13+
VALKEY_HOSTNAME: database
14+
REDIS_HOSTNAME: database
1415
jobs:
1516
unit-tests:
1617
runs-on: ubuntu-latest
1718
timeout-minutes: 15
1819
strategy:
1920
matrix:
20-
image: ["swift:6.1", "swift:6.2"]
21+
swift: ["swift:6.1", "swift:6.2"]
22+
database: ["valkey/valkey:latest", "redis:latest"]
2123
container:
22-
image: ${{ matrix.image }}
24+
image: ${{ matrix.swift }}
2325
services:
24-
valkey:
25-
image: valkey/valkey:8.0
26-
ports:
27-
- 6379:6379
28-
options: --entrypoint valkey-server
26+
database:
27+
image: ${{ matrix.database }}
2928
steps:
3029
- name: Install jemalloc
3130
run: |

Tests/IntegrationTests/CommandIntegrationTests.swift

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,8 +175,8 @@ struct CommandIntegratedTests {
175175
return redis.call("SET", keys[1], args[1])
176176
end
177177
178-
server.register_function('valkey_swift_test_set', test_set)
179-
server.register_function('valkey_swift_test_get', test_get)
178+
redis.register_function('valkey_swift_test_set', test_set)
179+
redis.register_function('valkey_swift_test_get', test_get)
180180
"""
181181
)
182182
let list = try await client.functionList(libraryNamePattern: "_valkey_swift_tests", withcode: true)
@@ -198,6 +198,16 @@ struct CommandIntegratedTests {
198198
var logger = Logger(label: "Valkey")
199199
logger.logLevel = .trace
200200
try await withValkeyClient(.hostname(valkeyHostname, port: 6379), logger: logger) { client in
201+
let helloResponse = try await client.hello()
202+
let serverNameValue = try #require(helloResponse.first { $0.key.value == .bulkString(ByteBuffer(string: "server")) }?.value.value)
203+
let serverName: String? =
204+
if case .bulkString(let nameBuffer) = serverNameValue {
205+
String(buffer: nameBuffer)
206+
} else {
207+
nil
208+
}
209+
guard serverName == "valkey" else { return }
210+
201211
let sha1 = try await client.scriptLoad(
202212
script: "return redis.call(\"GET\", KEYS[1])"
203213
)

0 commit comments

Comments
 (0)