llama-stack-mirror/.github/workflows
Charlie Doern 840ad75fe9
feat: split API and provider specs into separate llama-stack-api pkg (#3895)
# What does this PR do?

Extract API definitions and provider specifications into a standalone
llama-stack-api package that can be published to PyPI independently of
the main llama-stack server.


see: https://github.com/llamastack/llama-stack/pull/2978 and
https://github.com/llamastack/llama-stack/pull/2978#issuecomment-3145115942

Motivation

External providers currently import from llama-stack, which overrides
the installed version and causes dependency conflicts. This separation
allows external providers to:

- Install only the type definitions they need without server
dependencies
- Avoid version conflicts with the installed llama-stack package
- Be versioned and released independently

This enables us to re-enable external provider module tests that were
previously blocked by these import conflicts.

Changes

- Created llama-stack-api package with minimal dependencies (pydantic,
jsonschema)
- Moved APIs, providers datatypes, strong_typing, and schema_utils
- Updated all imports from llama_stack.* to llama_stack_api.*
- Configured local editable install for development workflow
- Updated linting and type-checking configuration for both packages

Next Steps

- Publish llama-stack-api to PyPI
- Update external provider dependencies
- Re-enable external provider module tests


Pre-cursor PRs to this one:

- #4093 
- #3954 
- #4064 

These PRs moved key pieces _out_ of the Api pkg, limiting the scope of
change here.


relates to #3237 

## Test Plan

Package builds successfully and can be imported independently. All
pre-commit hooks pass with expected exclusions maintained.

---------

Signed-off-by: Charlie Doern <cdoern@redhat.com>
2025-11-13 11:51:17 -08:00
..
backward-compat.yml chore(github-deps): bump astral-sh/setup-uv from 6.0.1 to 7.1.2 (#4023) 2025-11-03 13:43:04 +01:00
changelog.yml chore(github-deps): bump actions/checkout from 4.2.2 to 5.0.0 (#3178) 2025-08-20 16:51:40 -07:00
conformance.yml chore: remove HTML generation for openapi spec (#4039) 2025-11-03 18:03:40 +01:00
install-script-ci.yml fix(ci): use test.pypi as extra index for RC dependencies (#4009) 2025-10-31 12:55:43 -07:00
integration-auth-tests.yml chore: move src/llama_stack/ui to src/llama_stack_ui (#4068) 2025-11-04 15:21:49 -08:00
integration-sql-store-tests.yml ci: standardize release branch pattern to release-X.Y.x (#3999) 2025-10-30 21:33:32 -07:00
integration-tests.yml fix: harden storage semantics (#4118) 2025-11-12 10:35:39 -08:00
integration-vector-io-tests.yml chore: move src/llama_stack/ui to src/llama_stack_ui (#4068) 2025-11-04 15:21:49 -08:00
pre-commit.yml chore: set minimum pre-commit version (#4148) 2025-11-13 10:52:38 -08:00
providers-build.yml fix(ci): use test.pypi as extra index for RC dependencies (#4009) 2025-10-31 12:55:43 -07:00
providers-list-deps.yml chore(package): migrate to src/ layout (#3920) 2025-10-27 12:02:21 -07:00
python-build-test.yml feat: split API and provider specs into separate llama-stack-api pkg (#3895) 2025-11-13 11:51:17 -08:00
README.md chore(ci): setup automated stainless builds (#3557) 2025-11-07 12:15:26 -08:00
record-integration-tests.yml feat(tests): make inference_recorder into api_recorder (include tool_invoke) (#3403) 2025-10-09 14:27:51 -07:00
semantic-pr.yml chore(github-deps): bump amannn/action-semantic-pull-request from 6.1.0 to 6.1.1 (#3248) 2025-08-25 17:34:17 +02:00
stainless-builds.yml chore(ci): setup automated stainless builds (#3557) 2025-11-07 12:15:26 -08:00
stale_bot.yml chore(github-deps): bump actions/stale from 10.0.0 to 10.1.0 (#3684) 2025-10-08 12:16:54 +02:00
test-external-provider-module.yml chore(package): migrate to src/ layout (#3920) 2025-10-27 12:02:21 -07:00
test-external.yml chore: move src/llama_stack/ui to src/llama_stack_ui (#4068) 2025-11-04 15:21:49 -08:00
ui-unit-tests.yml chore: move src/llama_stack/ui to src/llama_stack_ui (#4068) 2025-11-04 15:21:49 -08:00
unit-tests.yml chore: move src/llama_stack/ui to src/llama_stack_ui (#4068) 2025-11-04 15:21:49 -08:00

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 run.yaml configs
Update Changelog changelog.yml Creates PR for updating the CHANGELOG.md
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