Skip to content

Commit 0d8efc3

Browse files
chore: upgrade wasmtime to latest (39.0.1) to work with ruby 3.4.7 (#128)
1 parent f23811c commit 0d8efc3

File tree

4 files changed

+22
-13
lines changed

4 files changed

+22
-13
lines changed

.github/workflows/unit-tests.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ jobs:
1515
runs-on: ubuntu-latest
1616
strategy:
1717
matrix:
18-
ruby-version: [ '3.2.0', '3.3.0' ]
18+
ruby-version: [ '3.2.0', '3.3.0', '3.4.1' ]
1919
env:
2020
DEVCYCLE_SERVER_SDK_KEY: dvc_server_token_hash
2121
steps:
2222
- uses: actions/checkout@v4
2323
- name: Set up Ruby
24-
uses: ruby/setup-ruby@v1.187.0
24+
uses: ruby/setup-ruby@v1.264.0
2525
with:
2626
ruby-version: ${{ matrix.ruby-version }}
2727
bundler-cache: true # runs 'bundle install' and caches installed gems automatically

devcycle-ruby-server-sdk.gemspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@ Gem::Specification.new do |s|
2424
s.required_ruby_version = ">= 3.2"
2525

2626
s.add_runtime_dependency 'typhoeus', '~> 1.0', '>= 1.0.1'
27-
s.add_runtime_dependency 'wasmtime', '20.0.2'
27+
s.add_runtime_dependency 'wasmtime', '39.0.1'
2828
s.add_runtime_dependency 'concurrent-ruby', '~> 1.2.0'
2929
s.add_runtime_dependency 'sorbet-runtime', '>= 0.5.11481'
3030
s.add_runtime_dependency 'oj', '~> 3.0'
3131
s.add_runtime_dependency 'google-protobuf', '~> 3.22'
3232
s.add_runtime_dependency 'ld-eventsource', '~> 2.2.3'
33-
s.add_runtime_dependency 'openfeature-sdk', '~> 0.4.0'
33+
s.add_runtime_dependency 'openfeature-sdk', '~> 0.4.1'
3434

3535
s.add_development_dependency 'rspec', '~> 3.6', '>= 3.6.0'
3636

lib/devcycle-ruby-server-sdk/api/dev_cycle_provider.rb

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,16 @@ def fetch_number_value(flag_key:, default_value:, evaluation_context: nil)
3232
end
3333

3434
def fetch_integer_value(flag_key:, default_value:, evaluation_context: nil)
35-
@client.variable(Provider.user_from_openfeature_context(evaluation_context), flag_key, default_value)
35+
variable = @client.variable(Provider.user_from_openfeature_context(evaluation_context), flag_key, default_value)
36+
37+
Variable.new(
38+
key: variable.key,
39+
type: variable.type,
40+
value: variable.value.to_i,
41+
defaultValue: variable.defaultValue,
42+
isDefaulted: variable.isDefaulted,
43+
eval: variable.eval
44+
)
3645
end
3746

3847
def fetch_float_value(flag_key:, default_value:, evaluation_context: nil)

lib/devcycle-ruby-server-sdk/localbucketing/local_bucketing.rb

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,14 @@ class LocalBucketing
2727
# added to ensure that there is no processes deadlock when compiling wasm before forking
2828

2929
@@wasmmodule = Wasmtime::Module.from_file(@@engine, "#{__dir__}/bucketing-lib.release.wasm")
30-
@@wasi_ctx = Wasmtime::WasiCtxBuilder.new
31-
.inherit_stdout
32-
.inherit_stderr
33-
.set_argv(ARGV)
34-
.set_env(ENV)
35-
.build
36-
@@store = Wasmtime::Store.new(@@engine, wasi_ctx: @@wasi_ctx)
37-
@@linker = Wasmtime::Linker.new(@@engine, wasi: true)
30+
@@wasi_config = Wasmtime::WasiConfig.new
31+
.inherit_stdout
32+
.inherit_stderr
33+
.set_argv(ARGV)
34+
.set_env(ENV)
35+
@@store = Wasmtime::Store.new(@@engine, wasi_p1_config: @@wasi_config)
36+
@@linker = Wasmtime::Linker.new(@@engine)
37+
Wasmtime::WASI::P1.add_to_linker_sync(@@linker)
3838

3939
@@linker.func_new("env", "Date.now", [], [:f64]) do |_caller|
4040
DateTime.now.strftime("%Q").to_i

0 commit comments

Comments
 (0)