llama-stack-mirror/.github/workflows
Charlie Doern b11bcfde11
Some checks failed
SqlStore Integration Tests / test-postgres (3.12) (push) Failing after 0s
SqlStore Integration Tests / test-postgres (3.13) (push) Failing after 0s
Integration Tests (Replay) / Integration Tests (, , , client=, ) (push) Failing after 3s
Test Llama Stack Build / generate-matrix (push) Successful in 22s
Test llama stack list-deps / show-single-provider (push) Failing after 53s
Test Llama Stack Build / build-single-provider (push) Failing after 3s
Test External Providers Installed via Module / test-external-providers-from-module (venv) (push) Has been skipped
Python Package Build Test / build (3.12) (push) Failing after 18s
Python Package Build Test / build (3.13) (push) Failing after 24s
Test Llama Stack Build / build-ubi9-container-distribution (push) Failing after 26s
Test Llama Stack Build / build-custom-container-distribution (push) Failing after 27s
Unit Tests / unit-tests (3.12) (push) Failing after 26s
Vector IO Integration Tests / test-matrix (push) Failing after 44s
API Conformance Tests / check-schema-compatibility (push) Successful in 52s
Test llama stack list-deps / generate-matrix (push) Successful in 52s
Test Llama Stack Build / build (push) Failing after 29s
Test External API and Providers / test-external (venv) (push) Failing after 53s
Integration Auth Tests / test-matrix (oauth2_token) (push) Failing after 1m2s
Unit Tests / unit-tests (3.13) (push) Failing after 1m30s
Test llama stack list-deps / list-deps-from-config (push) Failing after 1m59s
Test llama stack list-deps / list-deps (push) Failing after 1m10s
UI Tests / ui-tests (22) (push) Successful in 2m26s
Pre-commit / pre-commit (push) Successful in 3m8s
refactor(build): rework CLI commands and build process (1/2) (#2974)
# What does this PR do?

This PR does a few things outlined in #2878 namely:
1. adds `llama stack list-deps` a command which simply takes the build
logic and instead of executing one of the `build_...` scripts, it
displays all of the providers' dependencies using the `module` and `uv`.
2. deprecated `llama stack build` in favor of `llama stack list-deps`
3. updates all tests to use `list-deps` alongside `build`.

PR 2/2 will migrate `llama stack run`'s default behavior to be `llama
stack build --run` and use the new `list-deps` command under the hood
before running the server.

examples of `llama stack list-deps starter`

```
llama stack list-deps starter --format json
{
  "name": "starter",
  "description": "Quick start template for running Llama Stack with several popular providers. This distribution is intended for CPU-only environments.",
  "apis": [
    {
      "api": "inference",
      "provider": "remote::cerebras"
    },
    {
      "api": "inference",
      "provider": "remote::ollama"
    },
    {
      "api": "inference",
      "provider": "remote::vllm"
    },
    {
      "api": "inference",
      "provider": "remote::tgi"
    },
    {
      "api": "inference",
      "provider": "remote::fireworks"
    },
    {
      "api": "inference",
      "provider": "remote::together"
    },
    {
      "api": "inference",
      "provider": "remote::bedrock"
    },
    {
      "api": "inference",
      "provider": "remote::nvidia"
    },
    {
      "api": "inference",
      "provider": "remote::openai"
    },
    {
      "api": "inference",
      "provider": "remote::anthropic"
    },
    {
      "api": "inference",
      "provider": "remote::gemini"
    },
    {
      "api": "inference",
      "provider": "remote::vertexai"
    },
    {
      "api": "inference",
      "provider": "remote::groq"
    },
    {
      "api": "inference",
      "provider": "remote::sambanova"
    },
    {
      "api": "inference",
      "provider": "remote::azure"
    },
    {
      "api": "inference",
      "provider": "inline::sentence-transformers"
    },
    {
      "api": "vector_io",
      "provider": "inline::faiss"
    },
    {
      "api": "vector_io",
      "provider": "inline::sqlite-vec"
    },
    {
      "api": "vector_io",
      "provider": "inline::milvus"
    },
    {
      "api": "vector_io",
      "provider": "remote::chromadb"
    },
    {
      "api": "vector_io",
      "provider": "remote::pgvector"
    },
    {
      "api": "files",
      "provider": "inline::localfs"
    },
    {
      "api": "safety",
      "provider": "inline::llama-guard"
    },
    {
      "api": "safety",
      "provider": "inline::code-scanner"
    },
    {
      "api": "agents",
      "provider": "inline::meta-reference"
    },
    {
      "api": "telemetry",
      "provider": "inline::meta-reference"
    },
    {
      "api": "post_training",
      "provider": "inline::torchtune-cpu"
    },
    {
      "api": "eval",
      "provider": "inline::meta-reference"
    },
    {
      "api": "datasetio",
      "provider": "remote::huggingface"
    },
    {
      "api": "datasetio",
      "provider": "inline::localfs"
    },
    {
      "api": "scoring",
      "provider": "inline::basic"
    },
    {
      "api": "scoring",
      "provider": "inline::llm-as-judge"
    },
    {
      "api": "scoring",
      "provider": "inline::braintrust"
    },
    {
      "api": "tool_runtime",
      "provider": "remote::brave-search"
    },
    {
      "api": "tool_runtime",
      "provider": "remote::tavily-search"
    },
    {
      "api": "tool_runtime",
      "provider": "inline::rag-runtime"
    },
    {
      "api": "tool_runtime",
      "provider": "remote::model-context-protocol"
    },
    {
      "api": "batches",
      "provider": "inline::reference"
    }
  ],
  "pip_dependencies": [
    "pandas",
    "opentelemetry-exporter-otlp-proto-http",
    "matplotlib",
    "opentelemetry-sdk",
    "sentence-transformers",
    "datasets",
    "pymilvus[milvus-lite]>=2.4.10",
    "codeshield",
    "scipy",
    "torchvision",
    "tree_sitter",
    "h11>=0.16.0",
    "aiohttp",
    "pymongo",
    "tqdm",
    "pythainlp",
    "pillow",
    "torch",
    "emoji",
    "grpcio>=1.67.1,<1.71.0",
    "fireworks-ai",
    "langdetect",
    "psycopg2-binary",
    "asyncpg",
    "redis",
    "together",
    "torchao>=0.12.0",
    "openai",
    "sentencepiece",
    "aiosqlite",
    "google-cloud-aiplatform",
    "faiss-cpu",
    "numpy",
    "sqlite-vec",
    "nltk",
    "scikit-learn",
    "mcp>=1.8.1",
    "transformers",
    "boto3",
    "huggingface_hub",
    "ollama",
    "autoevals",
    "sqlalchemy[asyncio]",
    "torchtune>=0.5.0",
    "chromadb-client",
    "pypdf",
    "requests",
    "anthropic",
    "chardet",
    "aiosqlite",
    "fastapi",
    "fire",
    "httpx",
    "uvicorn",
    "opentelemetry-sdk",
    "opentelemetry-exporter-otlp-proto-http"
  ]
}
```

<img width="1500" height="420" alt="Screenshot 2025-10-16 at 5 53 03 PM"
src="https://github.com/user-attachments/assets/765929fb-93e2-44d7-9c3d-8918b70fc721"
/>

---------

Signed-off-by: Charlie Doern <cdoern@redhat.com>
2025-10-17 19:52:14 -07: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 feat(api)!: BREAKING CHANGE: support passing extra_body through to providers (#3777) 2025-10-10 16:21:44 -07:00
install-script-ci.yml chore(github-deps): bump actions/checkout from 4.2.2 to 5.0.0 (#3178) 2025-08-20 16:51:40 -07:00
integration-auth-tests.yml fix(auth): allow unauthenticated access to health and version endpoints (#3736) 2025-10-10 13:41:43 -07:00
integration-sql-store-tests.yml fix(ci): make all CI workflows have the correct concurrency defn 2025-08-21 16:05:25 -07:00
integration-tests.yml feat(ci): enable docker based server tests (#3833) 2025-10-17 09:19:25 +02:00
integration-vector-io-tests.yml refactor(build): rework CLI commands and build process (1/2) (#2974) 2025-10-17 19:52:14 -07:00
pre-commit.yml fix: Improve pre-commit workflow error handling and feedback (#3400) 2025-09-12 11:10:59 +02:00
precommit-trigger.yml chore(github-deps): bump actions/github-script from 7.0.1 to 8.0.0 (#3685) 2025-10-05 21:20:00 -07:00
providers-build.yml chore: use uvicorn to start llama stack server everywhere (#3625) 2025-10-06 14:27:40 +02:00
providers-list-deps.yml refactor(build): rework CLI commands and build process (1/2) (#2974) 2025-10-17 19:52:14 -07:00
python-build-test.yml chore(github-deps): bump astral-sh/setup-uv from 6.8.0 to 7.0.0 (#3782) 2025-10-11 14:14:43 -07:00
README.md refactor(build): rework CLI commands and build process (1/2) (#2974) 2025-10-17 19:52:14 -07: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
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!: remove --env from llama stack run (#3711) 2025-10-07 20:58:15 -07:00
test-external.yml refactor(build): rework CLI commands and build process (1/2) (#2974) 2025-10-17 19:52:14 -07:00
ui-unit-tests.yml chore(github-deps): bump actions/setup-node from 4.4.0 to 5.0.0 (#3353) 2025-09-08 10:05:00 +02:00
unit-tests.yml fix(ci): make all CI workflows have the correct concurrency defn 2025-08-21 16:05:25 -07: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
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
Pre-commit Bot precommit-trigger.yml Pre-commit bot for PR
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
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