mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-10 22:41:41 +00:00
The build-ui check compiled the dashboard from a full checkout, so any import reaching above ui/litellm-dashboard/ resolved there and only broke inside the images, where the stage copies the dashboard tree alone. Building the stage itself puts the check on the same file boundary the shipped images use.
42 lines
1.3 KiB
YAML
42 lines
1.3 KiB
YAML
name: UI Build Check
|
|
permissions:
|
|
contents: read
|
|
pull-requests: read
|
|
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
- litellm_internal_staging
|
|
- litellm_oss_staging
|
|
- "litellm_**"
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
|
|
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
|
|
|
jobs:
|
|
build-ui:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 10
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- name: Detect relevant changes
|
|
id: changes
|
|
uses: ./.github/actions/detect-changes
|
|
with:
|
|
category: ui
|
|
|
|
# Built through the image stage rather than the checkout, because the
|
|
# stage copies ui/litellm-dashboard/ alone: an import reaching above the
|
|
# dashboard root resolves in a checkout and fails in every image we ship.
|
|
# Dockerfile, docker/Dockerfile.non_root and ui/Dockerfile share this
|
|
# stage verbatim, so building one covers all three.
|
|
- name: Build the dashboard as the shipped images build it
|
|
if: steps.changes.outputs.decision != 'skip'
|
|
run: docker build --target ui-builder -f Dockerfile .
|