Files
uv/.github/workflows/test-ecosystem.yml
T
Zanie Blue 903dd292b3 Split up ci.yml (#17388)
This file is too big for an LLM context window and several contributors
have complained about it being too scary to touch.

This also gets us collapsible sections in the UI.

I renamed some jobs for clarity in the meantime. And added a meta-job
for required checks passing so we can avoid churn in our "Settings" when
we change job names.

Note this was entirely refactored by Claude.

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 12:34:30 -06:00

66 lines
1.8 KiB
YAML

on:
workflow_call:
inputs:
sha:
required: true
type: string
permissions: {}
jobs:
ecosystem-test:
name: "${{ matrix.repo }}"
timeout-minutes: 10
runs-on: ubuntu-latest
strategy:
matrix:
include:
- repo: "prefecthq/prefect"
ref: "7f25bbdf45fc81cca6dc23fb6a7377d436b70c83"
commands:
- "uv venv"
- "uv pip install -e '.[dev]'"
python: "3.9"
- repo: "pallets/flask"
ref: "b78b5a210bde49e7e04b62a2a4f453ca10e0048c"
commands:
- "uv venv"
- "uv pip install -r requirements/dev.txt"
python: "3.12"
- repo: "pydantic/pydantic-core"
ref: "d03bf4a01ca3b378cc8590bd481f307e82115bc6"
commands:
- "uv sync --group all"
- "uv lock --upgrade"
python: "3.12"
fail-fast: false
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
repository: ${{ matrix.repo }}
ref: ${{ matrix.ref }}
persist-credentials: false
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
with:
python-version: ${{ matrix.python }}
- name: "Download binary"
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with:
name: uv-linux-libc-${{ inputs.sha }}
- name: "Prepare binary"
run: chmod +x ./uv
- name: "Test"
run: |
echo '${{ toJSON(matrix.commands) }}' | jq -r '.[]' | while read cmd; do
echo "+ $cmd" >&2
if [[ $cmd == uv* ]]; then
./$cmd
else
$cmd
fi
done