mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-07 02:59:05 +00:00
75 lines
2.4 KiB
YAML
75 lines
2.4 KiB
YAML
name: Check Lazy OpenAPI Snapshot
|
|
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
- litellm_internal_staging
|
|
- "litellm_**"
|
|
|
|
permissions:
|
|
contents: read
|
|
checks: write
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
verify:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 10
|
|
steps:
|
|
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
|
|
with:
|
|
python-version: "3.12"
|
|
|
|
- name: Set up uv
|
|
uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7
|
|
with:
|
|
version: "0.10.9"
|
|
|
|
- name: Cache uv dependencies
|
|
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
|
|
with:
|
|
path: |
|
|
~/.cache/uv
|
|
.venv
|
|
key: ${{ runner.os }}-uv-${{ hashFiles('uv.lock') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-uv-
|
|
|
|
- name: Install dependencies
|
|
run: uv sync --frozen --all-groups --all-extras
|
|
|
|
- name: Regenerate snapshot to /tmp
|
|
id: regen
|
|
run: |
|
|
cp litellm/proxy/_lazy_openapi_snapshot.json /tmp/snapshot.committed.json
|
|
uv run --no-sync python -m litellm.proxy._lazy_openapi_snapshot
|
|
mv litellm/proxy/_lazy_openapi_snapshot.json /tmp/snapshot.fresh.json
|
|
mv /tmp/snapshot.committed.json litellm/proxy/_lazy_openapi_snapshot.json
|
|
|
|
- name: Compare
|
|
id: diff
|
|
continue-on-error: true
|
|
run: |
|
|
diff -q /tmp/snapshot.fresh.json litellm/proxy/_lazy_openapi_snapshot.json
|
|
|
|
- name: Mark neutral if drift
|
|
if: steps.diff.outcome == 'failure'
|
|
uses: LouisBrunner/checks-action@6b626ffbad7cc56fd58627f774b9067e6118af23 # v2.0.0
|
|
with:
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
name: lazy-openapi-snapshot
|
|
conclusion: neutral
|
|
output: |
|
|
{
|
|
"title": "Lazy openapi snapshot is stale",
|
|
"summary": "Run `python -m litellm.proxy._lazy_openapi_snapshot` and commit the regenerated `litellm/proxy/_lazy_openapi_snapshot.json`. Not blocking — the snapshot will regenerate at release if not committed."
|
|
}
|