mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-12-05 02:17:31 +00:00
the build.yaml is only used in the following ways: 1. list-deps 2. distribution code-gen since `llama stack build` no longer exists, I found myself asking "why do we need two different files for list-deps and run"? Removing the BuildConfig and DistributionTemplate from llama stack list-deps is the first step in removing the build yaml entirely. Removing the BuildConfig and build.yaml cuts the files users need to maintain in half, and allows us to focus on the stability of _just_ the run.yaml The build.yaml made sense for when we were managing the build process for the user and actually _producing_ a run.yaml _from_ the build.yaml, but now that we are simply just getting the provider registry and listing the deps, switching to run.yaml simplifies the scope here greatly Signed-off-by: Charlie Doern <cdoern@redhat.com>
105 lines
3.3 KiB
YAML
105 lines
3.3 KiB
YAML
name: Test llama stack list-deps
|
|
|
|
run-name: Test llama stack list-deps
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
paths:
|
|
- 'src/llama_stack/cli/stack/list_deps.py'
|
|
- 'src/llama_stack/cli/stack/_list_deps.py'
|
|
- 'src/llama_stack/core/build.*'
|
|
- 'src/llama_stack/core/*.sh'
|
|
- '.github/workflows/providers-list-deps.yml'
|
|
- 'src/llama_stack/templates/**'
|
|
- 'pyproject.toml'
|
|
|
|
pull_request:
|
|
paths:
|
|
- 'src/llama_stack/cli/stack/list_deps.py'
|
|
- 'src/llama_stack/cli/stack/_list_deps.py'
|
|
- 'src/llama_stack/core/build.*'
|
|
- 'src/llama_stack/core/*.sh'
|
|
- '.github/workflows/providers-list-deps.yml'
|
|
- 'src/llama_stack/templates/**'
|
|
- 'pyproject.toml'
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
generate-matrix:
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
distros: ${{ steps.set-matrix.outputs.distros }}
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
|
|
- name: Generate Distribution List
|
|
id: set-matrix
|
|
run: |
|
|
distros=$(ls src/llama_stack/distributions/*/*build.yaml | awk -F'/' '{print $(NF-1)}' | jq -R -s -c 'split("\n")[:-1]')
|
|
echo "distros=$distros" >> "$GITHUB_OUTPUT"
|
|
|
|
list-deps:
|
|
needs: generate-matrix
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
distro: ${{ fromJson(needs.generate-matrix.outputs.distros) }}
|
|
image-type: [venv, container]
|
|
fail-fast: false # We want to run all jobs even if some fail
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
|
|
- name: Install dependencies
|
|
uses: ./.github/actions/setup-runner
|
|
|
|
- name: Print dependencies
|
|
run: |
|
|
uv run llama stack list-deps ${{ matrix.distro }}
|
|
|
|
- name: Install Distro using llama stack list-deps
|
|
run: |
|
|
# USE_COPY_NOT_MOUNT is set to true since mounting is not supported by docker buildx, we use COPY instead
|
|
# LLAMA_STACK_DIR is set to the current directory so we are building from the source
|
|
USE_COPY_NOT_MOUNT=true LLAMA_STACK_DIR=. uv run llama stack list-deps ${{ matrix.distro }} | xargs -L1 uv pip install
|
|
|
|
- name: Print dependencies in the image
|
|
if: matrix.image-type == 'venv'
|
|
run: |
|
|
uv pip list
|
|
|
|
show-single-provider:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
|
|
- name: Install dependencies
|
|
uses: ./.github/actions/setup-runner
|
|
|
|
- name: Show a single provider
|
|
run: |
|
|
USE_COPY_NOT_MOUNT=true LLAMA_STACK_DIR=. uv run llama stack list-deps --providers inference=remote::ollama
|
|
|
|
list-deps-from-config:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
|
|
- name: Install dependencies
|
|
uses: ./.github/actions/setup-runner
|
|
|
|
- name: list-des from Config
|
|
env:
|
|
USE_COPY_NOT_MOUNT: "true"
|
|
LLAMA_STACK_DIR: "."
|
|
run: |
|
|
uv run llama stack list-deps src/llama_stack/distributions/ci-tests/run.yaml
|