Skip to content

[flags] feat: scaffold openfeature provider module#2996

Merged
dd-mergequeue[bot] merged 5 commits into
feature/flags-ofeatfrom
typo/flags-of-module
Nov 10, 2025
Merged

[flags] feat: scaffold openfeature provider module#2996
dd-mergequeue[bot] merged 5 commits into
feature/flags-ofeatfrom
typo/flags-of-module

Conversation

@typotter

Copy link
Copy Markdown
Contributor

What does this PR do?

Scaffolds new Flags Openfeature provider module

Motivation

The incompleteness and instability of the Kotline Openfeature SDK led us to develop the dd-sdk-android-flags client api. Until the Openfeature SDK is stable, we want to include it by way of a feature module.

Additional Notes

Anything else we should know when reviewing?
This scaffold is based on the flags module

Review checklist (to be filled by reviewers)

  • Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
  • Make sure you discussed the feature or bugfix with the maintaining team in an Issue
  • Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

@typotter
typotter marked this pull request as ready for review November 10, 2025 07:03
@typotter
typotter requested review from a team as code owners November 10, 2025 07:03
@typotter typotter changed the title scaffold openfeature provider module [flags] feat: scaffold openfeature provider module Nov 10, 2025
@datadog-official

datadog-official Bot commented Nov 10, 2025

Copy link
Copy Markdown

🎯 Code Coverage
Patch Coverage: 100.00%
Total Coverage: 71.29% (+0.03%)

View detailed report

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 2e65f37 | Docs | Datadog PR Page | Was this helpful? Give us feedback!

@codecov-commenter

codecov-commenter commented Nov 10, 2025

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 71.31%. Comparing base (ac6a9f5) to head (2e65f37).
⚠️ Report is 556 commits behind head on feature/flags-ofeat.

Additional details and impacted files
@@                   Coverage Diff                   @@
##           feature/flags-ofeat    #2996      +/-   ##
=======================================================
- Coverage                71.40%   71.31%   -0.10%     
=======================================================
  Files                      859      860       +1     
  Lines                    31308    31316       +8     
  Branches                  5275     5275              
=======================================================
- Hits                     22355    22330      -25     
- Misses                    7493     7516      +23     
- Partials                  1460     1470      +10     
Files with missing lines Coverage Δ
.../android/flags/openfeature/DatadogFlagsProvider.kt 100.00% <100.00%> (ø)

... and 27 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

implementation(project(":dd-sdk-android-internal"))

// OpenFeature SDK
api("dev.openfeature:kotlin-sdk:0.6.2")

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

we need to move this lib declaration to libs.versions.toml

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

👍

// Build
id("com.android.library")
kotlin("android")
id("com.google.devtools.ksp")

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

are we going to generate anything in this module based on @NoOpImplementation annotation?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

no.

Comment on lines +69 to +70
testImplementation(testFixtures(project(":dd-sdk-android-core")))
testImplementation(testFixtures(project(":features:dd-sdk-android-rum")))

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

we can add these later if needed, not necessarily they will be needed

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

🧹

@typotter typotter left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Thanks Nikita. ptal

// Build
id("com.android.library")
kotlin("android")
id("com.google.devtools.ksp")

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

no.

implementation(project(":dd-sdk-android-internal"))

// OpenFeature SDK
api("dev.openfeature:kotlin-sdk:0.6.2")

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

👍

Comment on lines +69 to +70
testImplementation(testFixtures(project(":dd-sdk-android-core")))
testImplementation(testFixtures(project(":features:dd-sdk-android-rum")))

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

🧹

@typotter
typotter requested a review from 0xnm November 10, 2025 15:45
0xnm
0xnm previously approved these changes Nov 10, 2025
Comment on lines +57 to +58
// Generate NoOp implementations
ksp(project(":tools:noopfactory"))

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

this needs also to be removed, because there is no KSP plugin, so no ksp configuration type.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

🪓

@typotter

Copy link
Copy Markdown
Contributor Author

/merge

@dd-devflow-routing-codex

dd-devflow-routing-codex Bot commented Nov 10, 2025

Copy link
Copy Markdown

View all feedbacks in Devflow UI.

2025-11-10 16:21:42 UTC ℹ️ Start processing command /merge


2025-11-10 16:21:48 UTC ℹ️ MergeQueue: waiting for PR to be ready

This pull request is not mergeable according to GitHub. Common reasons include pending required checks, missing approvals, or merge conflicts — but it could also be blocked by other repository rules or settings.
It will be added to the queue as soon as checks pass and/or get approvals.
Note: if you pushed new commits since the last approval, you may need additional approval.
You can remove it from the waiting list with /remove command.


2025-11-10 17:17:37 UTC ℹ️ MergeQueue: merge request added to the queue

The expected merge time in feature/flags-ofeat is approximately 0s (p90).


2025-11-10 18:06:09 UTC ℹ️ MergeQueue: This merge request was merged

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

We will also need to add a job to publish this module and add it as a dependency for notify:merge-verification-metadata job (and update local_ci.sh), but let's do it another PR then.

@dd-mergequeue
dd-mergequeue Bot merged commit 6c2f8ab into feature/flags-ofeat Nov 10, 2025
27 of 29 checks passed
@dd-mergequeue
dd-mergequeue Bot deleted the typo/flags-of-module branch November 10, 2025 18:06
@ncreated
ncreated restored the typo/flags-of-module branch April 9, 2026 10:19
@0xnm
0xnm deleted the typo/flags-of-module branch April 24, 2026 09:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants