fix: strip component-level servers blocks before OpenAPI merge#1992
Closed
gfyrag wants to merge 17 commits into
Closed
fix: strip component-level servers blocks before OpenAPI merge#1992gfyrag wants to merge 17 commits into
gfyrag wants to merge 17 commits into
Conversation
Replace IMPORT statements with direct downloads from GitHub releases. This simplifies the build process by fetching OpenAPI specs directly from release artifacts instead of importing entire project repositories. Changes: - Remove project IMPORT statements (ledger, payments, wallets, etc.) - Add ARG variables for each project version - Use curl to download openapi.yaml files from GitHub releases - Maintain same directory structure for downloaded specs
- Ledger v2.3.1 → v2.4.0 - Payments v3.0.18 → v3.2.0 - Auth v2.4.0 → v2.4.3 - Orchestration v2.4.0 → v2.4.1 - Reconciliation v2.2.1 → v2.2.2 - Gateway v2.1.0 → v2.2.0
Remove NoAuthorization security scheme from base.yaml and add a shared overlay to clean up the merged spec (remove requestBody on GET/HEAD, fix /versions security). Publish the overlaid spec to the Speakeasy Registry via a new workflow job so all SDK repos consume a single corrected source.
- Replace Earthly with Nix dev shell (flake.nix) and Just task runner - Use Speakeasy CLI v1.759.2 for OpenAPI spec merging with modelNamespace support, replacing openapi-merge-cli (npm) - Path prepending handled by yq-go instead of openapi-merge-cli - Consolidate overlays into shared.overlay.yaml (Speakeasy overlay format) - Fix Speakeasy registry publish: specs are now properly published and tagged (previously only tagging an old registry image) - Add LATEST_RELEASE tag alongside version tag on registry publish - Remove Earthly, Docker/QEMU setup action, and npm build dependencies - Add .envrc for direnv integration
Component specs (auth, ledger, orchestration, wallets, webhooks) declare their own servers block (http://localhost:8080/) which conflicts with base.yaml during the Speakeasy merge. This caused every operation in the generated spec to inherit an operation-level servers block, while the root-level servers from base.yaml were lost. Add a strip-servers step that removes servers from all component specs before the merge, so only base.yaml servers survive at root level. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Contributor
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
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
serversblock (http://localhost:8080/) which conflicts withbase.yamlduring the Speakeasy mergeserversblock while the root-level servers frombase.yamlwere loststrip-serversstep in the Justfile that removesserversfrom all component specs before merge, using a glob so any new component is automatically handledTest plan
just build-openapi— root-level servers frombase.yamlnow present, 0/249 operations have operation-level servers🤖 Generated with Claude Code