diff --git a/.github/actions/install-client-for-release/action.yml b/.github/actions/install-llama-stack-client/action.yml similarity index 50% rename from .github/actions/install-client-for-release/action.yml rename to .github/actions/install-llama-stack-client/action.yml index aea4d6089..15d678f3f 100644 --- a/.github/actions/install-client-for-release/action.yml +++ b/.github/actions/install-llama-stack-client/action.yml @@ -1,10 +1,16 @@ -name: Install Client for Release Branch -description: Pre-install llama-stack-client from git on release branches to satisfy RC dependencies before uv sync +name: Install llama-stack-client +description: Install llama-stack-client based on branch context and client-version input + +inputs: + client-version: + description: 'Client version to install on non-release branches (latest or published). Ignored on release branches.' + required: false + default: "" runs: using: "composite" steps: - - name: Install client from release branch if needed + - name: Install llama-stack-client shell: bash run: | # Determine the branch we're working with @@ -15,9 +21,8 @@ runs: echo "Working with branch: $BRANCH" - # If on a release branch, install from matching release branch BEFORE uv sync - # This allows uv sync to resolve dependencies that reference unreleased RC versions - # We always do this on release branches regardless of client-version to satisfy pyproject.toml + # On release branches: always install from matching git branch to satisfy RC dependencies + # On non-release branches: install based on client-version input if [[ "$BRANCH" =~ ^release-[0-9]+\.[0-9]+\.x$ ]]; then echo "Detected release branch: $BRANCH" echo "Checking if matching branch exists in llama-stack-client-python..." @@ -31,4 +36,16 @@ runs: echo "::error::Please create the matching release branch in llama-stack-client-python before testing" exit 1 fi + elif [ -n "${{ inputs.client-version }}" ]; then + # Non-release branch with client-version specified + if [ "${{ inputs.client-version }}" = "latest" ]; then + echo "Installing latest llama-stack-client-python from main branch" + uv pip install git+https://github.com/llamastack/llama-stack-client-python.git@main + elif [ "${{ inputs.client-version }}" = "published" ]; then + echo "Installing published llama-stack-client-python from PyPI" + uv pip install llama-stack-client + else + echo "Invalid client-version: ${{ inputs.client-version }}" + exit 1 + fi fi diff --git a/.github/actions/setup-runner/action.yml b/.github/actions/setup-runner/action.yml index 1ad6136dd..b039e7fa8 100644 --- a/.github/actions/setup-runner/action.yml +++ b/.github/actions/setup-runner/action.yml @@ -18,8 +18,10 @@ runs: python-version: ${{ inputs.python-version }} version: 0.7.6 - - name: Pre-install client for release branches - uses: ./.github/actions/install-client-for-release + - name: Install llama-stack-client + uses: ./.github/actions/install-llama-stack-client + with: + client-version: ${{ inputs.client-version }} - name: Install dependencies shell: bash @@ -30,17 +32,5 @@ runs: echo "Installing ad-hoc dependencies" uv pip install faiss-cpu - # Install llama-stack-client-python based on the client-version input - if [ "${{ inputs.client-version }}" = "latest" ]; then - echo "Installing latest llama-stack-client-python from main branch" - uv pip install git+https://github.com/llamastack/llama-stack-client-python.git@main - elif [ "${{ inputs.client-version }}" = "published" ]; then - echo "Installing published llama-stack-client-python from PyPI" - uv pip install llama-stack-client - else - echo "Invalid client-version: ${{ inputs.client-version }}" - exit 1 - fi - echo "Installed llama packages" uv pip list | grep llama diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 7fea208a2..b60adcfb0 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -112,8 +112,8 @@ jobs: exit 1 fi - - name: Pre-install client for release branches - uses: ./.github/actions/install-client-for-release + - name: Install llama-stack-client + uses: ./.github/actions/install-llama-stack-client - name: Sync dev + type_checking dependencies run: uv sync --group dev --group type_checking