From 4fb228a1d86b5b9995cd6858f87c920b123c97f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Han?= Date: Thu, 5 Jun 2025 20:40:21 +0200 Subject: [PATCH] ci: run integration test on more python version (#2400) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit # What does this PR do? Expand the test matrix to include Python 3.10, 3.11, and 3.12 to ensure the project runs correctly on these versions. This will give us confidence to begin considering an increase to the project's minimum supported Python version. Signed-off-by: Sébastien Han --- .github/actions/setup-runner/action.yml | 7 ++++++- .github/workflows/integration-tests.yml | 7 +++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/actions/setup-runner/action.yml b/.github/actions/setup-runner/action.yml index 6cba4fdc3..cdd438eb2 100644 --- a/.github/actions/setup-runner/action.yml +++ b/.github/actions/setup-runner/action.yml @@ -1,12 +1,17 @@ name: Setup runner description: Prepare a runner for the tests (install uv, python, project dependencies, etc.) +inputs: + python-version: + description: The Python version to use + required: false + default: "3.10" runs: using: "composite" steps: - name: Install uv uses: astral-sh/setup-uv@6b9c6063abd6010835644d4c2e1bef4cf5cd0fca # v6.0.1 with: - python-version: "3.10" + python-version: ${{ inputs.python-version }} activate-environment: true version: 0.7.6 diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index d78e82c9d..13b35643e 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -26,6 +26,7 @@ jobs: # TODO: generate matrix list from tests/integration when fixed test-type: [agents, inference, datasets, inspect, scoring, post_training, providers, tool_runtime] client-type: [library, http] + python-version: ["3.10", "3.11", "3.12"] fail-fast: false # we want to run all tests regardless of failure steps: @@ -34,13 +35,15 @@ jobs: - name: Install dependencies uses: ./.github/actions/setup-runner + with: + python-version: ${{ matrix.python-version }} - name: Setup ollama uses: ./.github/actions/setup-ollama - name: Build Llama Stack run: | - llama stack build --template ollama --image-type venv + uv run llama stack build --template ollama --image-type venv - name: Start Llama Stack server in background if: matrix.client-type == 'http' @@ -110,7 +113,7 @@ jobs: if: ${{ always() }} uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: - name: logs-${{ github.run_id }}-${{ github.run_attempt }}-${{ matrix.client-type }}-${{ matrix.test-type }} + name: logs-${{ github.run_id }}-${{ github.run_attempt }}-${{ matrix.client-type }}-${{ matrix.test-type }}-${{ matrix.python-version }} path: | *.log retention-days: 1