Skip to content

[bot] Merge master/2f1a82f5 into rel/dev - #1715

Merged
yenkins-admin merged 3 commits into
rel/devfrom
snapshot-master-2f1a82f5-to-rel/dev
Aug 5, 2026
Merged

[bot] Merge master/2f1a82f5 into rel/dev#1715
yenkins-admin merged 3 commits into
rel/devfrom
snapshot-master-2f1a82f5-to-rel/dev

Conversation

@yenkins-admin

Copy link
Copy Markdown
Contributor

🚀 Automated PR to perform merge from master into rel/dev with changes up to 2f1a82f (created by https://github.com/gooddata/gooddata-python-sdk/actions/runs/31013267765).

vondravl and others added 3 commits August 5, 2026 07:58
Every create_or_update* method already performs an existence check and
branches on it, then discards the answer and returns None. Callers that need
to know -- to log accurately, to count creations, to skip follow-up work --
have to repeat the same GET the SDK just made, because the create/update
entity calls are reachable only through the private _entities_api.

Return a new UpsertOutcome (CREATED / UPDATED) from all nine of them so the
information the SDK already computed is no longer thrown away. Adding a
return value to a method previously annotated -> None is backward compatible:
every in-repo caller (gooddata-pipelines, gooddata-dbt, gooddata-eval)
ignores the result and is unaffected.

The outcome is best-effort by nature -- the existence check is not atomic
with the write that follows -- which the enum docstring states so it is not
mistaken for an authoritative audit record.

Assertions on both branches are added to the existing cassette tests, and
mock-based unit tests cover what no cassette reaches: filter views, export
templates, and the update branch of user data filters.

Writing those tests turned up a pre-existing defect: the `id is None` create
branches of create_or_update_filter_view, create_or_update_user_data_filter
and create_or_update_workspace_setting cannot run at all. Each serializes
through a generated model requiring a str id, and passing None fails type
validation before any request -- including the PostOptionalId variants, where
"optional" means "omit the key" rather than "accept None". That is left
unfixed here (separate concern), but is pinned by strict xfail tests and the
docstrings no longer claim those paths create anything.
str(UpsertOutcome.CREATED) returned "UpsertOutcome.CREATED"; with
__str__ = str.__str__ it returns "created", so swapping the base class
for StrEnum once py3.10 support is dropped is a no-op for callers.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
feat(gooddata-sdk): report whether create_or_update created or updated
@yenkins-admin
yenkins-admin merged commit 71b3b1c into rel/dev Aug 5, 2026
1 check passed
@yenkins-admin
yenkins-admin deleted the snapshot-master-2f1a82f5-to-rel/dev branch August 5, 2026 14:04
@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: a23c4821-3bce-4913-8240-164cfcb0de90

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codecov

codecov Bot commented Aug 5, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 94.44444% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 78.59%. Comparing base (17bcb5c) to head (2f1a82f).
⚠️ Report is 542 commits behind head on rel/dev.

Files with missing lines Patch % Lines
...-sdk/src/gooddata_sdk/catalog/workspace/service.py 90.32% 3 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           rel/dev    #1715      +/-   ##
===========================================
+ Coverage    78.40%   78.59%   +0.19%     
===========================================
  Files          271      271              
  Lines        18741    18772      +31     
===========================================
+ Hits         14693    14754      +61     
+ Misses        4048     4018      -30     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

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

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