chore(openfeature): pin mixpanel-ruby ~> 3.3 for fallback_reason (SDK-126)#166
chore(openfeature): pin mixpanel-ruby ~> 3.3 for fallback_reason (SDK-126)#166tylerjroach wants to merge 1 commit into
Conversation
…DK-126) DO NOT MERGE until mixpanel-ruby 3.3.0 is released. Bundler will refuse to resolve until then — that failure is the point. The wrapper's provider.rb dispatches on SelectedVariant#fallback_reason, which was introduced in the SDK-79 merge (PR #153). Both previously published mixpanel-ruby versions in the ~> 3.1 range (3.1.0, 3.2.0) lack that method, so an install pairing v0.1.0 of this gem with a pre-SDK-79 3.x mixpanel-ruby would raise NoMethodError on every evaluation past the existing rescue block. Bumping the constraint to ~> 3.3 (the next unreleased minor) forces the correct release sequencing: 1. This PR sits red on CI until mixpanel-ruby 3.3.0 ships with SDK-79 included. 2. Once mixpanel-ruby 3.3.0 is published, this PR's CI turns green and it can be merged + released as mixpanel-ruby-openfeature 0.2.0. Also bumps this gem's version 0.1.0 -> 0.2.0 (new capability surface) and adds a CHANGELOG entry.
Confidence Score: 4/5The changelog header can omit the release notes from the GitHub release.
openfeature-provider/CHANGELOG.md
|
| Filename | Overview |
|---|---|
| openfeature-provider/CHANGELOG.md | Adds 0.2.0 release notes, but the header does not match the release workflow's extraction format. |
| openfeature-provider/lib/mixpanel/openfeature/version.rb | Updates the provider version from 0.1.0 to 0.2.0. |
| openfeature-provider/mixpanel-ruby-openfeature.gemspec | Requires the SDK release that provides fallback_reason. |
Reviews (1): Last reviewed commit: "release(openfeature): pin mixpanel-ruby ..." | Re-trigger Greptile
| @@ -1,5 +1,12 @@ | |||
| # Changelog | |||
|
|
|||
| ## openfeature/v0.2.0 | |||
There was a problem hiding this comment.
Release Notes Section Is Skipped
When openfeature/v0.2.0 is tagged directly, the release workflow searches for a ## [openfeature/v0.2.0] header. This unbracketed header does not match, so the GitHub release receives placeholder text instead of these notes.
| ## openfeature/v0.2.0 | |
| ## [openfeature/v0.2.0](https://github.com/mixpanel/mixpanel-ruby/tree/openfeature/v0.2.0) |
Context Used: Our developers like concise reviews. Avoid verbose... (source)
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #166 +/- ##
==========================================
- Coverage 96.97% 96.56% -0.42%
==========================================
Files 15 13 -2
Lines 761 669 -92
==========================================
- Hits 738 646 -92
Misses 23 23
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Bundler will refuse to resolve
mixpanel-ruby ~> 3.3until that version exists on RubyGems. That failure is the point of this PR — it enforces the correct two-step release sequencing.Summary
openfeature-provider/mixpanel-ruby-openfeature.gemspecruntime dep:~> 3.1→~> 3.3.mixpanel-ruby-openfeatureversion:0.1.0→0.2.0.openfeature/v0.2.0CHANGELOG entry.Why
The wrapper's
openfeature-provider/lib/mixpanel/openfeature/provider.rb:81dispatches onSelectedVariant#fallback_reason, which was introduced by the SDK-79 merge in #153. Both publishedmixpanel-rubyversions in the previous~> 3.1range —3.1.0and3.2.0— predate SDK-79 and lackfallback_reason. Any install that pairedmixpanel-ruby-openfeature 0.1.0with those would raiseNoMethodErroron every evaluation past the existingrescue StandardErrorblock. Greptile caught this on #153 immediately post-merge.Release sequencing
mixpanel-ruby ~> 3.3isn't published.mixpanel-ruby 3.3.0with the SDK-79 changes:lib/mixpanel-ruby/version.rb→3.3.0on masterrelease-rubygems.ymlworkflowmixpanel-ruby-openfeature 0.2.0.Verified locally
bundle installinopenfeature-provider/:Exactly the error CI should produce.
Linear: SDK-126