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>
This commit is contained in:
Zanie Blue
2026-01-12 12:34:30 -06:00
committed by GitHub
parent 0da6f263a9
commit 903dd292b3
19 changed files with 3054 additions and 2884 deletions
+65
View File
@@ -0,0 +1,65 @@
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