Skip to content

Regenerate SDK and update dependencies #27

Open
ryuichis wants to merge 4 commits intomasterfrom
rs/add-user-group
Open

Regenerate SDK and update dependencies #27
ryuichis wants to merge 4 commits intomasterfrom
rs/add-user-group

Conversation

@ryuichis
Copy link
Contributor

@ryuichis ryuichis commented Feb 8, 2026

  • Regenerate SDK from the latest OpenAPI spec, adding:
    • searchTerm field on DecisionRequest for targeting ads based on shopper search terms
    • skipFilters field on Placement with new SkipFilters model
    • group field on User for assigned cohort
    • Update dependencies to modern stable versions

Adds searchTerm to DecisionRequest, skipFilters to Placement, group to User, and new SkipFilters model.
Bump typhoeus ~> 1.4, rspec ~> 3.12, rake ~> 13.2, and rubocop ~> 1.50.
This also fixes the jaro_winkler build failure on Ruby 3.2+.
Bump ruby-version from 2.6 to 3.2 and actions/checkout from v2 to v4
across both CI and release workflows. Use bundler-cache in the build job.
Copy link

@tomascasas tomascasas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally speaking I think this good to go.
A few things I want to run through @akiradev:

  • We have a few version mismatches. Might need attention/confirmation.
  • We don't have tests covering any basics. May not be needed at all since we are coming from code generated from specs and that would create additional work.

Around version, this is what I think what needs decision making:
https://github.com/adzerk/adzerk-decision-sdk-ruby/pull/27/changes#r2788734493

PS: Running bundle exec rubocop shows a few warnings that might be nice to fix.
PS2: I think we should bump the version in lib/adzerk_decision_sdk/version.rb, event if it is from 1.0.0-beta.13 to 1.0.0-beta.14

s.required_ruby_version = ">= 2.4"

s.add_runtime_dependency 'typhoeus', '~> 1.0', '>= 1.0.1'
s.add_runtime_dependency 'typhoeus', '~> 1.4'

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[far question] It seems that for broader support it might be better to stick to what we had before.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After checking the ecosystem we have here and with and eye on supporting as many clients as possible, I think that we want:

  • ruby >= 2.7 (unless we want a maintained version, in which case, I would go with 3.2.2)
  • typhoeus '~> 1.0', >= 1.0.1' (unless we want a maintained version, in which case, I would go with '~> 1.4' ✅)
  • rspec '~> 3.12'

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I updated the minimum Ruby version based on https://www.ruby-lang.org/en/downloads/branches/. Even Ruby 3.2 is nearing EOL. That said, please let me know the current distribution of Ruby versions among SDK users, and I'll happily make adjustments.

uses: ruby/setup-ruby@v1
with:
ruby-version: '2.6'
ruby-version: '3.2'

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[far fn]Based on this comment around ruby version, we should:

  • at a minimum, match that version here.
  • run on tests on a few versions, if applicable. Cursor.IA suggests these:
    • 2.7,
    • 3.0,
    • 3.1, and
    • 3.2

Depending on the picked version we would only test on 3.2 or we could replicate the tests on the suggested versions.

uses: ruby/setup-ruby@v1
with:
ruby-version: '2.6'
ruby-version: '3.2'

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similarly to this comment, though is this case, we just pick the lowest version we want to support.

ruby-version: '2.6'
ruby-version: '3.2'
- name: Update Version
run: sed -i -r "s/VERSION = '[0-9a-z.-]+'\$/VERSION = '0.0.1.${GITHUB_REF##*/}'/g" lib/adzerk_decision_sdk/version.rb

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[far question] Is there a reason not to use github.event.release.tag_name as you did for Android?

uses: ruby/setup-ruby@v1
with:
ruby-version: '2.6'
ruby-version: '3.2'

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similarly to this comment, though is this case, we just pick the lowest version we want to support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Comments