ci(ui): move frontend lint into its own "UI Lint" workflow - #32810
Conversation
The lint job lived in test-litellm-ui-build.yml (workflow name "UI Build Check") next to the build job, so its check surfaced as the misleading "UI Build Check / frontend-lint" even though it does prettier, eslint, lint budgets, and knip, not building. Split it into test-litellm-ui-lint.yml (name "UI Lint") so the check reads "UI Lint / frontend-lint". The build workflow keeps only build-ui; the lint job (including the knip step) moves over unchanged. Note for whoever manages branch protection: this renames the lint required- check context from "UI Build Check / frontend-lint" to "UI Lint / frontend-lint"; update the required-check entry so PRs don't strand.
Greptile SummaryThis PR splits the
Confidence Score: 5/5Safe to merge — the change is a pure mechanical relocation of a CI job with no functional modifications. Both workflow files use identical triggers, pinned action SHAs, and step logic. The only difference is the workflow name field, which is the entire point of the change. No runtime behaviour of the lint checks is altered. No files require special attention beyond the branch-protection update called out in the PR description.
|
| Filename | Overview |
|---|---|
| .github/workflows/test-litellm-ui-build.yml | Removed the frontend-lint job; only build-ui remains. Triggers, permissions, and pinned action SHAs are unchanged. |
| .github/workflows/test-litellm-ui-lint.yml | New workflow (name: "UI Lint") containing the verbatim frontend-lint job. Triggers, pinned action SHAs, permissions, and step logic are identical to the original. |
Reviews (2): Last reviewed commit: "ci(ui): move frontend lint into its own ..." | Re-trigger Greptile
| @@ -0,0 +1,92 @@ | |||
| name: UI Lint | |||
There was a problem hiding this comment.
Branch protection rule must be updated before/after merge
The old required-check context UI Build Check / frontend-lint will stop reporting the moment this PR merges, since the job no longer lives in that workflow. Any PR gated on that check will immediately hang waiting for a status that never arrives. The required-check entry must be changed to UI Lint / frontend-lint in the repository's branch-protection settings atomically with (or ahead of) merging this PR — not as a follow-up.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
9746b0f to
4fbf119
Compare
|
@greptileai re-review |
3afd4a2
into
litellm_internal_staging
Relevant issues
Linear ticket
Pre-Submission checklist
Please complete all items before asking a LiteLLM maintainer to review your PR
@greptileaito re-request a review after pushing changes)Screenshots / Proof of Fix
The UI lint job (prettier, eslint, lint budgets, knip) lived inside
test-litellm-ui-build.yml, whose workflowname:is "UI Build Check". GitHub names every check<workflow name> / <job id>, so the lint job surfaced as "UI Build Check / frontend-lint" despite doing no building; the shared file name, not a coincidence, was the whole cause. Moving the job into its own file with its ownname:fixes the label.Check names before -> after:
The
frontend-lintjob moves over verbatim, knip step included; only its home file changes. Both workflow files parse as valid YAML and keep the samepull_requesttriggers.Type
🚄 Infrastructure
Changes
Create
test-litellm-ui-lint.yml(name "UI Lint") holding thefrontend-lintjob, and remove that job fromtest-litellm-ui-build.yml, which now contains onlybuild-ui.Whoever manages branch protection needs to update the required-check name from "UI Build Check / frontend-lint" to "UI Lint / frontend-lint"; the old context stops reporting, so leaving the rule as-is would strand PRs on a check that never runs.