chore(openapi-codegen): drop spec post-processing workarounds and regenerate client#1594
Merged
jaceksan merged 2 commits intoMay 11, 2026
Merged
Conversation
Upstream gdc-nas (DX-346) cleaned the OpenAPI spec so the regen pipeline no longer needs local repairs:
- Drop the NUL-stripping `tr` after the jq merge — `DeclarativeColumn.name` no longer carries a `^[^NUL]*$` pattern that leaked literal NUL bytes through jq decoding.
- Drop the jq cycle-break on `DashboardCompoundComparisonCondition` / `DashboardCompoundRangeCondition` — Springdoc no longer emits the redundant child-to-parent `allOf: [{$ref: ...}]` that crashed openapi-generator-cli v6.6.0 with StackOverflowError in `recursiveGetDiscriminator`.
- Drop the `scripts/postprocess_api_client.py` invocation and delete the script — it only existed to repair regex patterns mangled by the now-absent NUL escape.
- Repoint `make api-client STAGING=1` from `demo-cicd.cloud.gooddata.com` (production) to `staging.dev-latest.stg11.panther.intgdc.com` (actual staging). The previous URL silently regenerated against production and would re-introduce the workarounds.
Verified by regenerating the client against staging with the workarounds removed: no StackOverflowError, no NUL bytes in the merged spec, no mangled regex in the generated Python.
JIRA: DX-346
risk: low
Regenerate `gooddata-api-client` against `staging.dev-latest.stg11.panther.intgdc.com` after the DX-346 spec cleanup landed there. Run with the previous commit's slimmed-down `_api-client-generate` (no NUL stripping, no jq cycle-break, no postprocess script) to confirm the workarounds are no longer needed. Notable spec drift picked up incidentally: - `DeclarativeColumn.name`: drops the `regex` validation block; the NUL constraint is now carried in the field description (`Must not contain NUL (0x00) characters.`). - New `DeclarativeIpAllowlistPolicy` model exposed under `DeclarativeOrganization` (added on staging since the previous regen). JIRA: DX-346 risk: low
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1594 +/- ##
=======================================
Coverage 78.96% 78.96%
=======================================
Files 231 231
Lines 15578 15578
=======================================
Hits 12301 12301
Misses 3277 3277 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
hkad98
approved these changes
May 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Upstream gdc-nas shipped DX-346, which cleans two shapes in the OpenAPI spec that previously forced this repo to carry Makefile + jq + Python post-processing around openapi-generator-cli:
This PR:
make api-client STAGING=1from demo-cicd (production) to staging.dev-latest.stg11.panther.intgdc.com (actual staging). The previous URL silently regenerated against production and would re-introduce the workarounds.Test plan
make api-client STAGING=1completes with no StackOverflowError from openapi-generator-cli.python -c "import gooddata_api_client; from gooddata_api_client import models"reports import OK.JIRA: DX-346
risk: low