From 9fd7656b0a7ac71c9d77f09e7cbc54c191898c08 Mon Sep 17 00:00:00 2001 From: Casey Waldren Date: Wed, 18 Sep 2024 11:24:00 -0700 Subject: [PATCH] feat(deps): update go-server-sdk dep to v7 (#26) With the upcoming deprecation of Go Server @ v6, this integration now depends on v7 as the minimum version. --- .github/workflows/ci.yml | 9 ++++++++ README.md | 10 ++++----- go.mod | 20 +++++++++--------- go.sum | 44 ++++++++++++++++++---------------------- redis_builder.go | 2 +- redis_builder_test.go | 2 +- redis_impl.go | 2 +- redis_test.go | 4 ++-- 8 files changed, 49 insertions(+), 44 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ec46fd2..3e5b881 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,6 +10,15 @@ on: - '**.md' jobs: + go-mod-tidy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Go mod tidy + run: | + go mod tidy + git diff --exit-code -- go.mod go.sum + go-versions: uses: ./.github/workflows/go-versions.yml diff --git a/README.md b/README.md index 04dad22..90db788 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ This library provides a [Redis](https://redis.io/)-backed persistence mechanism The Redis client implementation it uses is [`go-redis`](https://github.com/redis/go-redis). This distinguishes it from the other Go SDK Redis integration, [`go-server-sdk-redis-redigo`](https://github.com/launchdarkly/go-server-sdk-redis-redigo), which uses the [`redigo`](https://github.com/gomodule/redigo) client (therefore the two projects have somewhat long and repetitive names). The main difference between the two is that `go-redis` supports cluster mode and `redigo` does not. -This version of the library requires at least version 6.0.0 of the LaunchDarkly Go SDK. +This version of the library requires at least version 7.0.0 of the LaunchDarkly Go SDK. The minimum Go version is 1.19. @@ -21,8 +21,8 @@ This assumes that you have already installed the LaunchDarkly Go SDK. ```go import ( - ld "github.com/launchdarkly/go-server-sdk/v6" - "github.com/launchdarkly/go-server-sdk/v6/ldcomponents" + ld "github.com/launchdarkly/go-server-sdk/v7" + "github.com/launchdarkly/go-server-sdk/v7/ldcomponents" ldredis "github.com/launchdarkly/go-server-sdk-redis-go-redis" ) ``` @@ -30,7 +30,7 @@ import ( 2. When configuring your SDK client, add the Redis data store as a `PersistentDataStore`. You may specify any custom Redis options using the methods of `RedisDataStoreBuilder`. For instance, to customize the Redis URL: ```go - var config ld.Config{} + var config ld.Config config.DataStore = ldcomponents.PersistentDataStore( ldredis.DataStore().URL("redis://my-redis-host"), ) @@ -58,7 +58,7 @@ import ( The LaunchDarkly SDK has a standard caching mechanism for any persistent data store, to reduce database traffic. This is configured through the SDK's `PersistentDataStoreBuilder` class as described the SDK documentation. For instance, to specify a cache TTL of 5 minutes: ```go - var config ld.Config{} + var config ld.Config config.DataStore = ldcomponents.PersistentDataStore( ldredis.DataStore(), ).CacheMinutes(5) diff --git a/go.mod b/go.mod index 33ad767..bcad941 100644 --- a/go.mod +++ b/go.mod @@ -3,10 +3,10 @@ module github.com/launchdarkly/go-server-sdk-redis-go-redis go 1.19 require ( - github.com/launchdarkly/go-sdk-common/v3 v3.0.0 - github.com/launchdarkly/go-server-sdk/v6 v6.0.1 + github.com/launchdarkly/go-sdk-common/v3 v3.1.0 + github.com/launchdarkly/go-server-sdk/v7 v7.6.2 github.com/redis/go-redis/v9 v9.0.2 - github.com/stretchr/testify v1.8.1 + github.com/stretchr/testify v1.9.0 ) require ( @@ -18,15 +18,15 @@ require ( github.com/josharian/intern v1.0.0 // indirect github.com/launchdarkly/ccache v1.1.0 // indirect github.com/launchdarkly/eventsource v1.6.2 // indirect - github.com/launchdarkly/go-jsonstream/v3 v3.0.0 // indirect - github.com/launchdarkly/go-sdk-events/v2 v2.0.0 // indirect - github.com/launchdarkly/go-semver v1.0.2 // indirect - github.com/launchdarkly/go-server-sdk-evaluation/v2 v2.0.1 // indirect + github.com/launchdarkly/go-jsonstream/v3 v3.1.0 // indirect + github.com/launchdarkly/go-sdk-events/v3 v3.4.0 // indirect + github.com/launchdarkly/go-semver v1.0.3 // indirect + github.com/launchdarkly/go-server-sdk-evaluation/v3 v3.0.1 // indirect github.com/launchdarkly/go-test-helpers/v3 v3.0.2 // indirect - github.com/mailru/easyjson v0.7.6 // indirect + github.com/mailru/easyjson v0.7.7 // indirect github.com/patrickmn/go-cache v2.1.0+incompatible // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - golang.org/x/exp v0.0.0-20220823124025-807a23277127 // indirect - golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9 // indirect + golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa // indirect + golang.org/x/sync v0.8.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 53dd4f6..e1cc9ed 100644 --- a/go.sum +++ b/go.sum @@ -21,24 +21,24 @@ github.com/launchdarkly/ccache v1.1.0 h1:voD1M+ZJXR3MREOKtBwgTF9hYHl1jg+vFKS/+VA github.com/launchdarkly/ccache v1.1.0/go.mod h1:TlxzrlnzvYeXiLHmesMuvoZetu4Z97cV1SsdqqBJi1Q= github.com/launchdarkly/eventsource v1.6.2 h1:5SbcIqzUomn+/zmJDrkb4LYw7ryoKFzH/0TbR0/3Bdg= github.com/launchdarkly/eventsource v1.6.2/go.mod h1:LHxSeb4OnqznNZxCSXbFghxS/CjIQfzHovNoAqbO/Wk= -github.com/launchdarkly/go-jsonstream/v3 v3.0.0 h1:qJF/WI09EUJ7kSpmP5d1Rhc81NQdYUhP17McKfUq17E= -github.com/launchdarkly/go-jsonstream/v3 v3.0.0/go.mod h1:/1Gyml6fnD309JOvunOSfyysWbZ/ZzcA120gF/cQtC4= -github.com/launchdarkly/go-sdk-common/v3 v3.0.0 h1:ITDJTDfFUvfQMz2N59qEOJtztxNZd7QWLPoj8JPFDHw= -github.com/launchdarkly/go-sdk-common/v3 v3.0.0/go.mod h1:H/zISoCNhviHTTqqBjIKQy2YgSHT8ioL1FtgBKpiEGg= -github.com/launchdarkly/go-sdk-events/v2 v2.0.0 h1:sOlsPSozUBfqenD9u0O3eC1l1vnCmdCJNX9ljwml6Y8= -github.com/launchdarkly/go-sdk-events/v2 v2.0.0/go.mod h1:B8v8LWS6icwokK6w5NwYwJmdWuQWP+HXa9gfgqwgQR4= -github.com/launchdarkly/go-semver v1.0.2 h1:sYVRnuKyvxlmQCnCUyDkAhtmzSFRoX6rG2Xa21Mhg+w= -github.com/launchdarkly/go-semver v1.0.2/go.mod h1:xFmMwXba5Mb+3h72Z+VeSs9ahCvKo2QFUTHRNHVqR28= -github.com/launchdarkly/go-server-sdk-evaluation/v2 v2.0.1 h1:5SQ8zVA7x2fRJALxOPcWe3pEi8Kk8VzD1U3ePBzpHyE= -github.com/launchdarkly/go-server-sdk-evaluation/v2 v2.0.1/go.mod h1:sIHB2aMLbOQ5nqKgxplOv4ubG0N1DHONEe520tWjV9Y= -github.com/launchdarkly/go-server-sdk/v6 v6.0.1 h1:rMkZJFfImRuB5iyqkan6CAO2HTeVP1eV28K1N+GRXes= -github.com/launchdarkly/go-server-sdk/v6 v6.0.1/go.mod h1:qNU5R3S0VYLbKwTYnLk69Wq51ogFFPmA83S00E++CVg= +github.com/launchdarkly/go-jsonstream/v3 v3.1.0 h1:U/7/LplZO72XefBQ+FzHf6o4FwLHVqBE+4V58Ornu/E= +github.com/launchdarkly/go-jsonstream/v3 v3.1.0/go.mod h1:2Pt4BR5AwWgsuVTCcIpB6Os04JFIKWfoA+7faKkZB5E= +github.com/launchdarkly/go-sdk-common/v3 v3.1.0 h1:KNCP5rfkOt/25oxGLAVgaU1BgrZnzH9Y/3Z6I8bMwDg= +github.com/launchdarkly/go-sdk-common/v3 v3.1.0/go.mod h1:mXFmDGEh4ydK3QilRhrAyKuf9v44VZQWnINyhqbbOd0= +github.com/launchdarkly/go-sdk-events/v3 v3.4.0 h1:22sVSEDEXpdOEK3UBtmThwsUHqc+cbbe/pJfsliBAA4= +github.com/launchdarkly/go-sdk-events/v3 v3.4.0/go.mod h1:oepYWQ2RvvjfL2WxkE1uJJIuRsIMOP4WIVgUpXRPcNI= +github.com/launchdarkly/go-semver v1.0.3 h1:agIy/RN3SqeQDIfKkl+oFslEdeIs7pgsJBs3CdCcGQM= +github.com/launchdarkly/go-semver v1.0.3/go.mod h1:xFmMwXba5Mb+3h72Z+VeSs9ahCvKo2QFUTHRNHVqR28= +github.com/launchdarkly/go-server-sdk-evaluation/v3 v3.0.1 h1:rTgcYAFraGFj7sBMB2b7JCYCm0b9kph4FaMX02t4osQ= +github.com/launchdarkly/go-server-sdk-evaluation/v3 v3.0.1/go.mod h1:fPS5d+zOsgFnMunj+Ki6jjlZtFvo4h9iNbtNXxzYn58= +github.com/launchdarkly/go-server-sdk/v7 v7.6.2 h1:fWwwXBRy9rDX+xDJgYdIzt3eJoiYAB6foGAoqMJgIHo= +github.com/launchdarkly/go-server-sdk/v7 v7.6.2/go.mod h1:rf/K2E4s5OjkB8Nn3ATDOR6W6S3U7D8FJ3WAKLxSTIQ= github.com/launchdarkly/go-test-helpers/v2 v2.2.0 h1:L3kGILP/6ewikhzhdNkHy1b5y4zs50LueWenVF0sBbs= github.com/launchdarkly/go-test-helpers/v2 v2.2.0/go.mod h1:L7+th5govYp5oKU9iN7To5PgznBuIjBPn+ejqKR0avw= github.com/launchdarkly/go-test-helpers/v3 v3.0.2 h1:rh0085g1rVJM5qIukdaQ8z1XTWZztbJ49vRZuveqiuU= github.com/launchdarkly/go-test-helpers/v3 v3.0.2/go.mod h1:u2ZvJlc/DDJTFrshWW50tWMZHLVYXofuSHUfTU/eIwM= -github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= -github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc= github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= @@ -47,21 +47,17 @@ github.com/redis/go-redis/v9 v9.0.2 h1:BA426Zqe/7r56kCcvxYLWe1mkaz71LKF77GwgFzSx github.com/redis/go-redis/v9 v9.0.2/go.mod h1:/xDTe9EF1LM61hek62Poq2nzQSGj0xSrEtEHbBQevps= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/wsxiaoys/terminal v0.0.0-20160513160801-0940f3fc43a0 h1:3UeQBvD0TFrlVjOeLOBz+CPAI8dnbqNSVwUwRrkp7vQ= github.com/wsxiaoys/terminal v0.0.0-20160513160801-0940f3fc43a0/go.mod h1:IXCdmsXIht47RaVFLEdVnh1t+pgYtTAhQGj73kz+2DM= -golang.org/x/exp v0.0.0-20220823124025-807a23277127 h1:S4NrSKDfihhl3+4jSTgwoIevKxX9p7Iv9x++OEIptDo= -golang.org/x/exp v0.0.0-20220823124025-807a23277127/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9 h1:SQFwaSi55rU7vdNs9Yr0Z324VNlrF+0wMqRXT4St8ck= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa h1:ELnwvuAXPNtPk1TJRuGkI9fDTwym6AYBu0qzT8AcHdI= +golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa/go.mod h1:akd2r19cwCdwSwWeIdzYQGa/EZZyqcOdwWiwj5L5eKQ= +golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= +golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/redis_builder.go b/redis_builder.go index 3be4432..c942bae 100644 --- a/redis_builder.go +++ b/redis_builder.go @@ -7,7 +7,7 @@ import ( "strings" "github.com/launchdarkly/go-sdk-common/v3/ldvalue" - "github.com/launchdarkly/go-server-sdk/v6/subsystems" + "github.com/launchdarkly/go-server-sdk/v7/subsystems" ) const ( diff --git a/redis_builder_test.go b/redis_builder_test.go index 481346d..113676d 100644 --- a/redis_builder_test.go +++ b/redis_builder_test.go @@ -1,7 +1,7 @@ package ldredis import ( - "github.com/launchdarkly/go-server-sdk/v6/subsystems" + "github.com/launchdarkly/go-server-sdk/v7/subsystems" "testing" "github.com/stretchr/testify/assert" diff --git a/redis_impl.go b/redis_impl.go index 4131a9e..3404f3d 100644 --- a/redis_impl.go +++ b/redis_impl.go @@ -4,7 +4,7 @@ import ( "context" "errors" "github.com/launchdarkly/go-sdk-common/v3/ldlog" - "github.com/launchdarkly/go-server-sdk/v6/subsystems/ldstoretypes" + "github.com/launchdarkly/go-server-sdk/v7/subsystems/ldstoretypes" "github.com/redis/go-redis/v9" ) diff --git a/redis_test.go b/redis_test.go index 02dfc92..ebf443a 100644 --- a/redis_test.go +++ b/redis_test.go @@ -9,8 +9,8 @@ import ( "github.com/stretchr/testify/assert" - "github.com/launchdarkly/go-server-sdk/v6/subsystems" - "github.com/launchdarkly/go-server-sdk/v6/testhelpers/storetest" + "github.com/launchdarkly/go-server-sdk/v7/subsystems" + "github.com/launchdarkly/go-server-sdk/v7/testhelpers/storetest" ) func TestRedisDataStore(t *testing.T) {