Repository navigation
fix: preserve HTTP errors when opening event streams #3032
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Unit Testing | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| env: | |
| # Which Python from the matrix will be used to run the coverage check | |
| COV_PYTHON_VERSION: 3.14 | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] | |
| package: | |
| [ | |
| llama-index-workflows, | |
| llama-index-utils-workflow, | |
| llama-agents-integration-tests, | |
| llama-agents-dev, | |
| llama-agents-client, | |
| llama-agents-server, | |
| llama-agents-dbos, | |
| llama-agents-core, | |
| llama-agents-agentcore, | |
| llama-agents-appserver, | |
| llama-agents-control-plane, | |
| llamactl, | |
| ] | |
| exclude: | |
| # Dev CLI only needs to run on 3.14 | |
| - package: llama-agents-dev | |
| python-version: "3.10" | |
| - package: llama-agents-dev | |
| python-version: "3.11" | |
| - package: llama-agents-dev | |
| python-version: "3.12" | |
| - package: llama-agents-dev | |
| python-version: "3.13" | |
| include: | |
| - package: llama-index-workflows | |
| package_dir: packages/llama-index-workflows | |
| - package: llama-index-utils-workflow | |
| package_dir: packages/llama-index-utils-workflow | |
| - package: llama-agents-integration-tests | |
| package_dir: packages/llama-agents-integration-tests | |
| - package: llama-agents-dev | |
| package_dir: . | |
| - package: llama-agents-client | |
| package_dir: packages/llama-agents-client | |
| - package: llama-agents-server | |
| package_dir: packages/llama-agents-server | |
| - package: llama-agents-dbos | |
| package_dir: packages/llama-agents-dbos | |
| - package: llama-agents-core | |
| package_dir: packages/llama-agents-core | |
| - package: llama-agents-agentcore | |
| package_dir: packages/llama-agents-agentcore | |
| - package: llama-agents-appserver | |
| package_dir: packages/llama-agents-appserver | |
| - package: llama-agents-control-plane | |
| package_dir: packages/llama-agents-control-plane | |
| - package: llamactl | |
| package_dir: packages/llamactl | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Install uv and set the python version | |
| uses: astral-sh/setup-uv@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| enable-cache: true | |
| - name: Run tests | |
| if: matrix.python-version != env.COV_PYTHON_VERSION | |
| run: | | |
| uv sync --python ${{ matrix.python-version }} --all-extras --directory ${{ matrix.package_dir }} | |
| uv run --python ${{ matrix.python-version }} --all-extras --directory ${{ matrix.package_dir }} -- pytest | |
| - name: Run tests with coverage | |
| if: matrix.python-version == env.COV_PYTHON_VERSION | |
| run: uv run --all-extras --directory ${{ matrix.package_dir }} -- pytest --cov=src --cov-report=xml | |
| - name: Report Coveralls | |
| if: matrix.python-version == env.COV_PYTHON_VERSION | |
| continue-on-error: true | |
| uses: coverallsapp/github-action@v2 | |
| with: | |
| file: ${{ matrix.package_dir }}/coverage.xml | |
| base-path: ${{ matrix.package_dir }}/src | |
| flag-name: ${{ matrix.package }} | |
| parallel: true | |
| env: | |
| COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} | |
| test-docker: | |
| name: "test docker (3.14 - all packages)" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Install uv and set the python version | |
| uses: astral-sh/setup-uv@v6 | |
| with: | |
| python-version: "3.14" | |
| enable-cache: true | |
| - name: Run Docker tests with coverage (append) | |
| # Use longer timeout for Docker tests since container startup can take 30-60s in CI | |
| run: uv run --all-extras --all-packages dev --timeout=120 -m docker --cov --cov-append --cov-report=xml | |
| - name: Report Coveralls | |
| continue-on-error: true | |
| uses: coverallsapp/github-action@v2 | |
| with: | |
| file: packages/llama-agents-integration-tests/coverage.xml | |
| flag-name: llama-agents-integration-tests | |
| parallel: true | |
| env: | |
| COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} | |
| test-appserver-package: | |
| name: "test appserver package (${{ matrix.resolution }})" | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| resolution: [highest, lowest-direct] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Install uv and set the python version | |
| uses: astral-sh/setup-uv@v6 | |
| with: | |
| python-version: "3.14" | |
| enable-cache: true | |
| - name: Build internal package wheels | |
| run: | | |
| uv build --wheel --package llama-index-workflows --out-dir dist | |
| uv build --wheel --package llama-agents-client --out-dir dist | |
| uv build --wheel --package llama-agents-core --out-dir dist | |
| uv build --wheel --package llama-agents-server --out-dir dist | |
| uv build --wheel --package llama-agents-appserver --out-dir dist | |
| - name: Resolve package dependencies | |
| run: >- | |
| uv pip compile | |
| packages/llama-agents-appserver/pyproject.toml | |
| --no-sources | |
| --resolution ${{ matrix.resolution }} | |
| --no-emit-package llama-index-workflows | |
| --no-emit-package llama-agents-client | |
| --no-emit-package llama-agents-core | |
| --no-emit-package llama-agents-server | |
| --output-file "${RUNNER_TEMP}/appserver-requirements.txt" | |
| - name: Install internal package wheels | |
| run: | | |
| uv venv "${RUNNER_TEMP}/appserver-venv" | |
| uv pip install \ | |
| --python "${RUNNER_TEMP}/appserver-venv/bin/python" \ | |
| --requirements "${RUNNER_TEMP}/appserver-requirements.txt" \ | |
| dist/*.whl | |
| - name: Smoke test installed appserver | |
| run: | | |
| mkdir -p "${RUNNER_TEMP}/appserver-smoke" | |
| printf 'name: compatibility-test\nworkflows: {}\n' > "${RUNNER_TEMP}/appserver-smoke/llama_deploy.yaml" | |
| LLAMA_DEPLOY_APISERVER_APP_ROOT="${RUNNER_TEMP}/appserver-smoke" \ | |
| "${RUNNER_TEMP}/appserver-venv/bin/python" \ | |
| .github/scripts/test_appserver_package.py | |
| coveralls-finish: | |
| needs: [test, test-docker, test-appserver-package] | |
| runs-on: ubuntu-latest | |
| if: github.repository == 'run-llama/llama-agents' | |
| steps: | |
| - name: Finalize Coveralls parallel jobs | |
| continue-on-error: true | |
| uses: coverallsapp/github-action@v2 | |
| with: | |
| parallel-finished: true | |
| env: | |
| COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} |