litellm/.github/workflows
yuneng-jiang 28e93e42e5
test(ui): run vitest unit tests in GitHub Actions and fix stale key-info tests (#34175)
* test(ui): run vitest unit tests in GitHub Actions and fix stale key-info tests

The dashboard's vitest suite only ran on CircleCI; GitHub Actions covered the
UI build, lint and api-types sync but never the unit tests. Add a UI Unit Tests
workflow that runs the suite, sharded across a matrix so the wall-clock is not
bound by a single 4-core runner.

Porting it surfaced 17 pre-existing failures. Adding the block/unblock key
action moved Delete Key and Reset Spend into a "More key actions" dropdown and
introduced a React Query hook; KeyInfoHeader's own test was updated but the two
KeyInfoView test files were not. Reach those actions through the dropdown and
stub the new hook the way the neighbouring hook is already stubbed.

The same refactor had quietly hollowed out assertions that still passed:
"should not show Reset Spend button for regular key owner" queried for a button
role that no longer exists, so it held green regardless of the permission
check. Those now open the menu and assert on the menu item, which fails when
canResetSpend is forced true.

Also add the missing cost-optimization page description; page_utils guards that
every navigable page carries one.

* ci(ui): scope PR runs to changed tests, run the full suite on staging

Running the whole vitest suite on every pull request costs about five minutes,
and none of it is recoverable through parallelism: vitest schedules by file and
create_mcp_server.test.tsx alone accounts for 252s of the 255s total, so shards
and extra cores cannot get under that floor. Measured on this branch, css:false,
pool=threads and isolate=false all landed within noise of the baseline.

Scope pull requests to tests reachable from the diff instead, which takes 11s
here, and keep a full run on pushes to litellm_internal_staging so nothing rots
behind a gap in the module graph. Backend-only pull requests match no test files
and exit zero; --passWithNoTests states that rather than leaning on it being the
current default. The checkout needs full history for --changed to resolve the
base commit.
2026-07-21 16:23:43 -07:00
..
_test-unit-base.yml fix(ci): retry setup-uv installs to survive transient manifest fetch failures 2026-07-14 14:41:36 -07:00
auto_update_price_and_context_window.yml fix(ci): retry setup-uv installs to survive transient manifest fetch failures 2026-07-14 14:41:36 -07:00
auto_update_price_and_context_window_file.py only add/update vercel ai gateway models 2025-08-04 17:22:36 -07:00
check-schema-sync.yml chore: fixes 2026-04-05 01:30:57 -07:00
check-ui-api-types.yml fix(ci): retry setup-uv installs to survive transient manifest fetch failures 2026-07-14 14:41:36 -07:00
check_duplicate_issues.yml [Infra] Flip remaining CI jobs to Python 3.12 2026-04-22 21:26:19 -07:00
close_low_quality_prs.yml feat(agent-shin): automated PR/issue triage, low-quality auto-close, and review-gate label lifecycle (#30433) 2026-06-17 20:42:27 -07:00
codeql.yml ci(zizmor): gate PRs on medium+ findings and clear existing ones (#30797) 2026-06-18 18:26:03 -07:00
codspeed.yml fix(ci): retry setup-uv installs to survive transient manifest fetch failures 2026-07-14 14:41:36 -07:00
conventional-commits.yml chore(hooks): enforce Conventional Commits and Conventional Branches (#30174) 2026-06-11 10:00:23 -07:00
create-release-branch.yml ci(release): create stable/X.Y.x line branch on X.Y.0 tags (#29457) 2026-06-01 15:56:34 -07:00
create-release.yml fix(release): make Create Release reliable for stable maintenance cuts (#31986) 2026-07-02 16:05:11 -07:00
create_daily_oss_agent_shin_branch.yml ci: add daily oss-agent-shin branch creation workflow (#28829) 2026-05-25 20:04:40 -07:00
create_daily_staging_branch.yml chore: fixes 2026-04-05 01:30:57 -07:00
guard-fork-dependencies.yml fix(ci): point OSS contributor workflows to litellm_oss_staging (#31270) 2026-06-24 21:07:59 -07:00
guard-main-branch.yml chore(ci): retire daily OSS branches in favor of litellm_internal_staging 2026-07-20 11:38:52 -07:00
helm_unit_test.yml refactor(helm): move litellm-helm chart to helm/ and drop deploy folder (#32234) 2026-07-07 15:18:33 +03:00
image-scan.yml ci(image-scan): match Python packages against CPE data (#34136) 2026-07-21 12:56:56 -07:00
issue-keyword-labeler.yml chore: fixes 2026-04-05 01:30:57 -07:00
label-component.yml chore: fixes 2026-04-05 01:30:57 -07:00
mutation-test.yml fix(ci): retry setup-uv installs to survive transient manifest fetch failures 2026-07-14 14:41:36 -07:00
osv-scan.yml fix(ci): point OSS contributor workflows to litellm_oss_staging (#31270) 2026-06-24 21:07:59 -07:00
run_llm_translation_tests.py build: migrate packaging, CI, and Docker from Poetry to uv (#25007) 2026-04-09 11:46:23 -07:00
scorecard.yml chore: fixes 2026-04-05 01:30:57 -07:00
stale.yml chore: fixes 2026-04-05 01:30:57 -07:00
sync-schema.yml chore: fixes 2026-04-05 01:30:57 -07:00
test-code-quality.yml fix(ci): retry setup-uv installs to survive transient manifest fetch failures 2026-07-14 14:41:36 -07:00
test-linting.yml fix(ci): retry setup-uv installs to survive transient manifest fetch failures 2026-07-14 14:41:36 -07:00
test-litellm-ui-build.yml ci(ui): move frontend lint into its own "UI Lint" workflow (#32810) 2026-07-10 13:08:15 -07:00
test-litellm-ui-lint.yml ci(ui): report only error-level knip findings in CI (#32971) 2026-07-12 21:27:55 -07:00
test-litellm-ui-unit.yml test(ui): run vitest unit tests in GitHub Actions and fix stale key-info tests (#34175) 2026-07-21 16:23:43 -07:00
test-mcp.yml fix(ci): retry setup-uv installs to survive transient manifest fetch failures 2026-07-14 14:41:36 -07:00
test-model-map.yaml fix(ci): point OSS contributor workflows to litellm_oss_staging (#31270) 2026-06-24 21:07:59 -07:00
test-rust.yml feat(rust): port BaseAWSLLM auth (credential resolution + SigV4) to litellm-core as a base provider (#33888) 2026-07-18 19:12:00 -07:00
test-semgrep.yml fix(ci): retry setup-uv installs to survive transient manifest fetch failures 2026-07-14 14:41:36 -07:00
test-terraform-provider.yml fix(ci): retry setup-uv installs to survive transient manifest fetch failures 2026-07-14 14:41:36 -07:00
test-unit-core-utils.yml Revert "ci: skip unit test workflows when only ui or markdown files change (#32422)" 2026-07-08 11:55:59 -07:00
test-unit-documentation.yml fix(ci): retry setup-uv installs to survive transient manifest fetch failures 2026-07-14 14:41:36 -07:00
test-unit-enterprise-routing.yml Revert "ci: skip unit test workflows when only ui or markdown files change (#32422)" 2026-07-08 11:55:59 -07:00
test-unit-integrations.yml Revert "ci: skip unit test workflows when only ui or markdown files change (#32422)" 2026-07-08 11:55:59 -07:00
test-unit-llm-providers.yml Revert "ci: skip unit test workflows when only ui or markdown files change (#32422)" 2026-07-08 11:55:59 -07:00
test-unit-misc.yml Revert "ci: skip unit test workflows when only ui or markdown files change (#32422)" 2026-07-08 11:55:59 -07:00
test-unit-proxy-auth.yml Revert "ci: skip unit test workflows when only ui or markdown files change (#32422)" 2026-07-08 11:55:59 -07:00
test-unit-proxy-db.yml ci: run zizmor and proxy-db unit tests on PRs targeting litellm_ branches 2026-07-16 11:44:35 -07:00
test-unit-proxy-endpoints.yml Revert "ci: skip unit test workflows when only ui or markdown files change (#32422)" 2026-07-08 11:55:59 -07:00
test-unit-proxy-infra.yml Revert "ci: skip unit test workflows when only ui or markdown files change (#32422)" 2026-07-08 11:55:59 -07:00
test-unit-proxy-legacy.yml fix(ci): retry setup-uv installs to survive transient manifest fetch failures 2026-07-14 14:41:36 -07:00
test-unit-responses-caching-types.yml Revert "ci: skip unit test workflows when only ui or markdown files change (#32422)" 2026-07-08 11:55:59 -07:00
test_server_root_path.yml ci(server-root-path): retry npm/playwright installs and disable matrix fail-fast (#32406) 2026-07-07 18:56:12 -07:00
triage_issue_with_llm.yml feat(agent-shin): automated PR/issue triage, low-quality auto-close, and review-gate label lifecycle (#30433) 2026-06-17 20:42:27 -07:00
triage_reconsider.yml feat(agent-shin): automated PR/issue triage, low-quality auto-close, and review-gate label lifecycle (#30433) 2026-06-17 20:42:27 -07:00
triage_rollout_heads_up.yml feat(agent-shin): automated PR/issue triage, low-quality auto-close, and review-gate label lifecycle (#30433) 2026-06-17 20:42:27 -07:00
zizmor.yml ci: run zizmor and proxy-db unit tests on PRs targeting litellm_ branches 2026-07-16 11:44:35 -07:00