mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-12-21 16:42:25 +00:00
# What does this PR do?
Various fixes to integration test recording + stainless calling of
integration tests:
1. only the library client was being run, they all should be
2. the git check grabs diffs like:
M tests/integration/client-typescript/package-lock.json
M tests/integration/client-typescript/package.json
it should not
additionally:
Fixes rebase conflicts when stainless workflow runs integration tests
with
record-if-missing mode on PRs. Previously, the workflow would:
1. Commit all files in tests/integration/ (including non-recordings)
2. Try to rebase and push to 'main' instead of the PR branch
3. Fail with merge conflicts on PR-specific changes
Changes:
- Add pr_head_ref and is_fork_pr parameters flowing through workflow
chain
- Use target-branch input instead of github.ref_name in recording
commits
- Detect and handle fork PRs by skipping push and uploading recordings
as artifacts
- Add 7-day artifact retention for fork PR recordings
- Support both workflow_call and direct pull_request trigger contexts
For same-repo PRs: recordings now commit/push to the PR branch correctly
For fork PRs: recordings upload as downloadable artifacts with
instructions
you can see a failing workflow:
|
||
|---|---|---|
| .. | ||
| backward-compat.yml | ||
| conformance.yml | ||
| install-script-ci.yml | ||
| integration-auth-tests.yml | ||
| integration-sql-store-tests.yml | ||
| integration-tests.yml | ||
| integration-vector-io-tests.yml | ||
| pre-commit.yml | ||
| providers-build.yml | ||
| providers-list-deps.yml | ||
| python-build-test.yml | ||
| README.md | ||
| record-integration-tests.yml | ||
| semantic-pr.yml | ||
| stainless-builds.yml | ||
| stale_bot.yml | ||
| test-external-provider-module.yml | ||
| test-external.yml | ||
| ui-unit-tests.yml | ||
| unit-tests.yml | ||
Llama Stack CI
Llama Stack uses GitHub Actions for Continuous Integration (CI). Below is a table detailing what CI the project includes and the purpose.
| Name | File | Purpose |
|---|---|---|
| Backward Compatibility Check | backward-compat.yml | Check backward compatibility for config.yaml files |
| API Conformance Tests | conformance.yml | Run the API Conformance test suite on the changes. |
| Installer CI | install-script-ci.yml | Test the installation script |
| Integration Auth Tests | integration-auth-tests.yml | Run the integration test suite with Kubernetes authentication |
| SqlStore Integration Tests | integration-sql-store-tests.yml | Run the integration test suite with SqlStore |
| Integration Tests (Replay) | integration-tests.yml | Run the integration test suites from tests/integration in replay mode |
| Vector IO Integration Tests | integration-vector-io-tests.yml | Run the integration test suite with various VectorIO providers |
| Pre-commit | pre-commit.yml | Run pre-commit checks |
| Test Llama Stack Build | providers-build.yml | Test llama stack build |
| Test llama stack list-deps | providers-list-deps.yml | Test llama stack list-deps |
| Python Package Build Test | python-build-test.yml | Test building the llama-stack PyPI project |
| Integration Tests (Record) | record-integration-tests.yml | Run the integration test suite from tests/integration |
| Check semantic PR titles | semantic-pr.yml | Ensure that PR titles follow the conventional commit spec |
| Stainless SDK Builds | stainless-builds.yml | Build Stainless SDK from OpenAPI spec changes |
| Close stale issues and PRs | stale_bot.yml | Run the Stale Bot action |
| Test External Providers Installed via Module | test-external-provider-module.yml | Test External Provider installation via Python module |
| Test External API and Providers | test-external.yml | Test the External API and Provider mechanisms |
| UI Tests | ui-unit-tests.yml | Run the UI test suite |
| Unit Tests | unit-tests.yml | Run the unit test suite |