Skip to content

Conversation

@ashwinb
Copy link
Contributor

@ashwinb ashwinb commented Nov 19, 2025

Add GitHub Actions workflow to run integration tests against the llama-stack server using pre-recorded API responses.

The workflow builds the local client and installs it into llama-stack's test environment via TS_CLIENT_PATH, then runs llama-stack's integration test script in replay mode.

Add GitHub Actions workflow to run integration tests against the llama-stack server in replay mode. The workflow dynamically generates a test matrix from llama-stack's CI configuration and runs TypeScript client tests alongside Python tests.

Key features:
- Leverages llama-stack's existing test infrastructure and recorded API responses
- Only runs for suite/setup combinations that have TypeScript test coverage
- Filters matrix to server mode only (TypeScript client doesn't support library/docker modes)
- Builds local client and installs it in llama-stack's test environment via TS_CLIENT_PATH

Triggers on pushes/PRs to main and generated branches, plus manual dispatch.

Test plan: Will be validated when workflow runs in CI.
@meta-cla meta-cla bot added the CLA Signed This label is managed by the Meta Open Source bot. label Nov 19, 2025
Remove dynamic matrix generation in favor of explicit test configurations. Since we know exactly which TypeScript tests exist (responses/gpt and base/ollama), we can hardcode them directly in the workflow matrix.

This simplifies the workflow by removing:
- The generate-matrix job and its Python script dependency
- The check-ts-tests validation step
- Conditional logic on all subsequent steps

The workflow is now more straightforward and easier to understand.
Use the new --typescript-only flag added to llama-stack's integration-tests.sh script. This allows the TypeScript client CI to run only TypeScript tests without being blocked by Python test failures.

The workflow now:
- Skips all Python/pytest execution
- Only runs TypeScript client tests via the llama-stack test infrastructure
- Uses replay mode with pre-recorded API responses

This resolves the issue where Python client version mismatches (0.3.0 vs 0.4.0.dev0) were causing all tests to fail and preventing TypeScript tests from running.
@ashwinb ashwinb merged commit 5675ef1 into main Nov 20, 2025
10 checks passed
@ashwinb ashwinb deleted the ci branch November 20, 2025 01:28
@stainless-app stainless-app bot mentioned this pull request Nov 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Meta Open Source bot.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants