-
Notifications
You must be signed in to change notification settings - Fork 57
LCORE-492: use generic way to load run.yaml from teste/e2e/configs folder #625
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
LCORE-492: use generic way to load run.yaml from teste/e2e/configs folder #625
Conversation
WalkthroughReplaces legacy run.yaml generation with a matrix-driven GitHub Actions workflow that scans Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant GH as GitHub Actions Runner
participant WF as e2e_tests Workflow
participant FS as Repo Filesystem
participant C as Containers/Services
participant T as E2E Tests
GH->>WF: Start job (matrix: environment=ci)
WF->>FS: Scan tests/e2e/configs for run-<ENV>.yaml
alt config found
WF->>FS: Copy run-<ENV>.yaml -> run.yaml
WF->>WF: Normalize paths & substitute OPENAI_API_KEY
WF->>GH: Emit config summary & preview
WF->>C: Start containers/services per run.yaml
C-->>WF: Health checks OK
WF->>T: Run E2E tests
T-->>WF: Test results
else config missing
WF-->>GH: Fail job (configuration not found)
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ 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 |
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.
Actionable comments posted: 3
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
.github/workflows/e2e_tests.yaml(2 hunks)docker-compose.yaml(1 hunks)tests/e2e/configs/run-ci.yaml(1 hunks)
🧰 Additional context used
🪛 GitHub Actions: E2E Tests
tests/e2e/configs/run-ci.yaml
[error] 1-1: Container startup failed due to mount error: cannot mount host path '/home/runner/work/lightspeed-stack/lightspeed-stack/run-ci.yaml' to '/app-root/run.yaml' because target is not a directory (likely a file) or mismatch between file/directory types.
🪛 YAMLlint (1.37.1)
tests/e2e/configs/run-ci.yaml
[error] 97-97: duplication of key "provider_id" in mapping
(key-duplicates)
[error] 98-98: duplication of key "provider_type" in mapping
(key-duplicates)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: build-pr
docker-compose.yaml
Outdated
| - "8321:8321" # Expose llama-stack on 8321 (adjust if needed) | ||
| volumes: | ||
| - ./run.yaml:/app-root/run.yaml:Z | ||
| - ./run-ci.yaml:/app-root/run.yaml:Z |
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.
Restore the bind mount to a file that actually exists before docker compose up.
This change is breaking the job: the latest E2E run failed with cannot mount host path '/home/runner/.../run-ci.yaml' ... because target is not a directory, which happens when the host file is absent and Docker auto-creates a directory. We no longer ship a run-ci.yaml at the repo root, so docker compose up (locally or in CI) regresses immediately. Please keep the mount pointed at the generated run.yaml (and ensure the workflow writes that file). Suggested fix:
- - ./run-ci.yaml:/app-root/run.yaml:Z
+ - ./run.yaml:/app-root/run.yaml:Z🤖 Prompt for AI Agents
In docker-compose.yaml around line 10, the bind mount was changed to
./run-ci.yaml which doesn't exist and causes Docker to create a directory and
fail mounting; restore the mount to the generated file by changing the host path
back to ./run.yaml (keep the container path /app-root/run.yaml:Z) and update the
CI/workflow step that generates the file to write ./run.yaml at the repo root
before docker compose up so the file exists when mounting.
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.
Actionable comments posted: 0
🧹 Nitpick comments (1)
.github/workflows/e2e_tests.yaml (1)
121-124: Make the config summary environment-awareThe summary still hard-codes
run-ci.yaml, so it will go stale as soon as we add another environment. Echo the actual matrix environment instead.- echo "Source config: tests/e2e/configs/run-ci.yaml" + echo "Source config: tests/e2e/configs/run-${{ matrix.environment }}.yaml"
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/e2e_tests.yaml(2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: build-pr
- GitHub Check: e2e_tests
tisnik
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.
LGTM
116d8fc to
c05cb1a
Compare
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.
Actionable comments posted: 0
🧹 Nitpick comments (1)
.github/workflows/e2e_tests.yaml (1)
76-128: Make the summary reflect the selected config name.
Select and configure run.yamlalready resolves the correctrun-<env>.yaml, but the follow-up summary still hardcodesrun-ci.yaml, so the log becomes misleading once we add more environments. Export the chosen filename while templating and reuse it later.if [ -f "$CONFIG_FILE" ]; then echo "Found config for environment: $ENVIRONMENT" cp "$CONFIG_FILE" run.yaml + echo "SELECTED_CONFIG=$(basename "$CONFIG_FILE")" >> "$GITHUB_ENV" else echo "Configuration file not found: $CONFIG_FILE" echo "Available files in $CONFIGS_DIR:" ls -la "$CONFIGS_DIR/" exit 1 fi @@ - name: Show final configuration run: | echo "=== Configuration Summary ===" - echo "Source config: tests/e2e/configs/run-ci.yaml" + echo "Source config: tests/e2e/configs/${SELECTED_CONFIG:-unknown}" echo "Final file: run.yaml" echo "Container mount: /app-root/run.yaml" echo ""
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
.github/workflows/e2e_tests.yaml(2 hunks)tests/e2e/configs/run-ci.yaml(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: build-pr
- GitHub Check: e2e_tests
Description
Type of change
Related Tickets & Documents
Checklist before requesting a review
Testing
Summary by CodeRabbit
New Features
Tests
Chores