-
Notifications
You must be signed in to change notification settings - Fork 15
test(ffe): run sdk tests individually #1273
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
13d406d to
6927240
Compare
BenchmarksComparisonBenchmark execution time: 2025-10-22 10:29:23 Comparing candidate commit 6927240 in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 55 metrics, 2 unstable metrics. CandidateCandidate benchmark detailsGroup 1
Group 2
Group 3
Group 4
Group 5
Group 6
Group 7
Group 8
Group 9
Group 10
Group 11
Group 12
Group 13
Group 14
Group 15
Group 16
Group 17
BaselineOmitted due to size. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1273 +/- ##
==========================================
- Coverage 71.82% 71.78% -0.05%
==========================================
Files 368 368
Lines 57975 57934 -41
==========================================
- Hits 41641 41588 -53
- Misses 16334 16346 +12
🚀 New features to boost your workflow:
|
Artifact Size Benchmark Reportaarch64-alpine-linux-musl
aarch64-unknown-linux-gnu
libdatadog-x64-windows
libdatadog-x86-windows
x86_64-alpine-linux-musl
x86_64-unknown-linux-gnu
|
|
/merge |
|
View all feedbacks in Devflow UI.
This merge 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.
[email protected] unqueued this merge request |
leoromanovsky
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The diff turned out to be very large. I just reviewed 6927240 - you probably wanted to merge main in?
|
/remove |
|
View all feedbacks in Devflow UI.
|
|
Thanks. I'm not used to this squash merging which makes the PR on top of PR not work automatically. |
6927240 to
2cfac2f
Compare
|
/merge |
|
View all feedbacks in Devflow UI.
This merge 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.
The expected merge time in
|
This reverts commit b9c68ca. Test generation in build.rs made tests hard to edit.
[ffe] add pyo3 conversion methods [ffe] Remove unused errors [ffe] step back and remove IntoPyObject types These will be defined in dd-trace-py to better match what Python/OF need. Revert "test(ffe): run sdk tests individually (#1273)" This reverts commit b9c68ca. Test generation in build.rs made tests hard to edit. [ffe] Expose EvaluationFailure This is required to allow tracers return more precise error codes. [ffe] remove support for JSON:API Merge remote-tracking branch 'origin/main' into HEAD [ffe] fix clippy Merge remote-tracking branch 'origin/main' into HEAD refactor(ffe): merge EvaluationError and EvalutionFailure into one type The distinction served us well in Eppo but it's less useful as we're migrating to OpenFeature and it handles these various errors rather similarly. Merge branch 'main' into ffe-pyo3-methods Co-authored-by: oleksii.shmalko <[email protected]>
[ffe] add pyo3 conversion methods [ffe] Remove unused errors [ffe] step back and remove IntoPyObject types These will be defined in dd-trace-py to better match what Python/OF need. Revert "test(ffe): run sdk tests individually (#1273)" This reverts commit b9c68ca. Test generation in build.rs made tests hard to edit. [ffe] Expose EvaluationFailure This is required to allow tracers return more precise error codes. [ffe] remove support for JSON:API Merge remote-tracking branch 'origin/main' into HEAD [ffe] fix clippy Merge remote-tracking branch 'origin/main' into HEAD refactor(ffe): merge EvaluationError and EvalutionFailure into one type The distinction served us well in Eppo but it's less useful as we're migrating to OpenFeature and it handles these various errors rather similarly. Merge branch 'main' into ffe-pyo3-methods Co-authored-by: oleksii.shmalko <[email protected]>
Add FFI bindings for datadog-ffe Creates C-compatible FFI layer for Feature Flagging & Experimentation: - Add datadog-ffe-ffi crate following ddsketch-ffi patterns - Implement Handle<T> wrappers for Configuration, EvaluationContext, Assignment - Export get_assignment, configuration_new, evaluation_context_new functions - Add memory management with drop functions - Generate C headers via cbindgen for Ruby integration - Update Cargo.toml to include new FFI crate in workspace Fix missing newlines at ends of files Fix Rust formatting issues in datadog-ffe-ffi - Remove trailing whitespace from doc comments - Reformat function call in assignment.rs to fit line length constraints Remove unused NULL_POINTER_ERROR constant from error.rs Fix formatting in assignment.rs by removing trailing whitespace from doc comments Update LICENSE-3rdparty.yml to include datadog-ffe-ffi Add datadog-ffe-ffi Cargo.toml to Dockerfile.build Set datadog-ffe-ffi version to 0.1.0 to match pre-release status Update Cargo.lock Refactor build script and cbindgen configuration - Updated build.rs to use a variable for the header name and improved readability. - Modified cbindgen.toml to reorganize export settings and enforce naming conventions for types and functions. - Added Clippy lints in lib.rs to enhance code quality and prevent common pitfalls. Update CODEOWNERS to include datadog-ffe-ffi and team Update datadog-ffe-ffi/Cargo.toml Pin datadog-ffe to exact version Co-authored-by: Oleksii Shmalko <[email protected]> refactor(ffe): simplify error handling (#1285) refactor(ffe): simplify error handling Merge branch 'sameerank/FFL-1284-Create-datadog-ffe-ffi-crate' into ffe-simplify-error-handling Co-authored-by: sameerank <[email protected]> Replace single-attribute constructor with multi-attribute API Replace ddog_ffe_evaluation_context_new_with_attribute with ddog_ffe_evaluation_context_new_with_attributes that accepts an array of AttributePair structs. Remove unnecessary whitespace in evaluation_context.rs Fix documentation formatting in evaluation_context.rs Fix Cargo.toml Prevent malloc error in drop functions Handle take() errors gracefully in ddog_ffe_configuration_drop and ddog_ffe_assignment_drop to prevent malloc corruption from double-free or use-after-free scenarios. Previously, take() failures would panic and cause "pointer being freed was not allocated" errors. Update drop functions to simplify error handling Refactor EvaluationContext API - Changed the `context` parameter in `ddog_ffe_get_assignment` to be a pointer for consistency. - Removed the single-attribute constructor `ddog_ffe_evaluation_context_new` and updated the multi-attribute constructor's documentation for clarity. Merge branch 'main' into sameerank/FFL-1284-Create-datadog-ffe-ffi-crate [ffe] add pyo3 conversion methods [ffe] Remove unused errors [ffe] step back and remove IntoPyObject types These will be defined in dd-trace-py to better match what Python/OF need. Revert "test(ffe): run sdk tests individually (#1273)" This reverts commit b9c68ca. Test generation in build.rs made tests hard to edit. [ffe] Expose EvaluationFailure This is required to allow tracers return more precise error codes. [ffe] remove support for JSON:API Merge remote-tracking branch 'origin/main' into HEAD [ffe] fix clippy Merge remote-tracking branch 'origin/main' into HEAD Update datadog-ffe-ffi/src/evaluation_context.rs Co-authored-by: Oleksii Shmalko <[email protected]> Lint fix Replace Assignment with ResolutionDetails structure Replace AssignmentValue with C-compatible value representation Add error mapping for ResolutionDetails error handling Lint fixes Clippy fixes refactor(ffe): merge EvaluationError and EvalutionFailure into one type The distinction served us well in Eppo but it's less useful as we're migrating to OpenFeature and it handles these various errors rather similarly. Merge remote-tracking branch 'origin/ffe-pyo3-methods' into HEAD feat: handle non-string attributes feat(ffe): adding accessors for ResolutionDetails feat(ffe): preserve json raw value datadog-ffe-ffi: finish assignment getters add missing license header Merge remote-tracking branch 'origin/main' into HEAD fix tests fix parsing RawValue through TryParse (I think) the way serde_json implements untagged enum parsing is by first parsing into serde_json::Value and then parsing that to one of the variants. This breaks RawValue deserialization because Value does not hold onto original string. This PR makes TryParse work by quickly scanning into RawValue first, and then trying to parse it into target type. If that parsing fails, the RawValue is copied into Box. Merge remote-tracking branch 'origin/main' into HEAD feat: support multiple/number expected flag type Merge remote-tracking branch 'origin/main' into HEAD merge main Merge main@origin Co-authored-by: dd-oleksii <[email protected]>
What does this PR do?
Runs the sdk tests as individual test cases for better reporting and integration with CI Visibility.
Addition to #1271