fix: enable full recursive fixture loading + add git to Docker image#241
Merged
Conversation
The fixture loader previously capped recursion at 2 levels (root + immediate subdirectories). This was insufficient for the per-integration showcase layout where fixtures live at paths like d6/langgraph-python/chat-basic.json (3 levels deep). Replace the manual 2-level loop with a self-recursive call to loadFixturesFromDir(), which naturally walks the entire directory tree. Backward compatible: all existing single-file and 2-level callers continue to work identically.
The Railway startCommand now uses git sparse-checkout to fetch showcase fixtures at boot. node:22-alpine does not include git, so this adds apk add --no-cache git (~15MB) to the production stage.
commit: |
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
d6/<integration>/<feature>.json) which is 3+ levels deep.gitbinary to production stage (apk add --no-cache git) for sparse-checkout fixture fetching at Railway boot.Context
PR #5022 in CopilotKit reorganized showcase fixtures from flat bundles into per-integration subdirectories. The aimock fixture loader 2-level recursion limit prevented loading fixtures at depth 3+, causing the Railway showcase-aimock service to fail validation on boot.
Spec: https://www.notion.so/36d3aa381852815981a7f09d79d72422
Test plan
--platform linux/amd64succeedsgit --versionworks inside built image (v2.52.0)--validate-on-loadboots with 6900+ fixtures