llama-stack-mirror/.github/workflows
Ashwin Bharambe a488d8ce10
fix(ci): install client from release branch before uv sync (#4002)
Backport of #4001 to release-0.3.x branch.

Fixes CI failures on release branches where uv sync can't resolve RC
dependencies.

## The Problem

On release branches like `release-0.3.x`, pyproject.toml requires
`llama-stack-client>=0.3.1rc1`. RC versions only exist on test.pypi, not
PyPI. This causes multiple CI failures:

1. `uv sync` fails because it can't resolve RC versions from PyPI
2. pre-commit hooks (uv-lock, codegen) fail for the same reason  
3. mypy workflow section needs uv installed

## The Solution

Configure UV to use test.pypi when on release branches:

- Set `UV_INDEX_URL=https://test.pypi.org/simple/` (primary)
- Set `UV_EXTRA_INDEX_URL=https://pypi.org/simple/` (fallback)
- Set `UV_INDEX_STRATEGY=unsafe-best-match` to check both indexes

This allows `uv sync` to resolve common packages from PyPI and RC
versions from test.pypi.

## Additional Fixes

- Export UV env vars to `GITHUB_ENV` so pre-commit hooks inherit them
- Install uv in pre-commit workflow for mypy section
- Handle missing `type_checking` dependency group on release-0.3.x
- Regenerate uv.lock with RC versions for the release branch

## Changes

- Created reusable `install-llama-stack-client` action for configuration
- Modified `setup-runner` to set UV environment variables before sync
- Modified `pre-commit` workflow to configure client and export env vars
- Updated uv.lock with RC versions from test.pypi

This is a cherry-pick of commits afa9f0882, c86e6e906, 626639bee, and
081566321 from main, plus additional fixes for release branch
compatibility.
2025-10-31 11:44:05 -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 fix(ci): install client from release branch before uv sync (#4002) 2025-10-31 11:44:05 -07:00
integration-auth-tests.yml feat(cherry-pick): fixes for 0.3.1 release (#3998) 2025-10-30 21:51:42 -07:00
integration-sql-store-tests.yml feat(cherry-pick): fixes for 0.3.1 release (#3998) 2025-10-30 21:51:42 -07:00
integration-tests.yml feat(cherry-pick): fixes for 0.3.1 release (#3998) 2025-10-30 21:51:42 -07:00
integration-vector-io-tests.yml feat(cherry-pick): fixes for 0.3.1 release (#3998) 2025-10-30 21:51:42 -07:00
pre-commit.yml fix(ci): install client from release branch before uv sync (#4002) 2025-10-31 11:44:05 -07:00
precommit-trigger.yml fix(ci): improve workflow logging and bot notifications (#3872) 2025-10-20 22:08:15 -07:00
providers-build.yml fix(ci): install client from release branch before uv sync (#4002) 2025-10-31 11:44:05 -07:00
providers-list-deps.yml chore(github-deps): bump actions/checkout from 4.2.2 to 5.0.0 (#3841) 2025-10-20 14:59:28 -07:00
python-build-test.yml chore(github-deps): bump astral-sh/setup-uv from 7.0.0 to 7.1.0 (#3842) 2025-10-20 14:59:35 -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: use dockerfile for building containers (#3839) 2025-10-20 10:23:01 -07:00
test-external.yml chore: use dockerfile for building containers (#3839) 2025-10-20 10:23:01 -07:00
ui-unit-tests.yml chore(github-deps): bump actions/setup-node from 5.0.0 to 6.0.0 (#3843) 2025-10-20 14:59:39 -07:00
unit-tests.yml feat(cherry-pick): fixes for 0.3.1 release (#3998) 2025-10-30 21:51:42 -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