feat(slack_alerting): add spend_report_include_tags to hide tag breakdown in spend reports #12410
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: UI Unit Tests | |
| permissions: | |
| contents: read | |
| pull-requests: read | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| - litellm_internal_staging | |
| - litellm_oss_staging | |
| - "litellm_**" | |
| push: | |
| branches: | |
| - litellm_internal_staging | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| ui-unit-tests: | |
| runs-on: ubuntu-latest-16-cores | |
| timeout-minutes: 20 | |
| defaults: | |
| run: | |
| working-directory: ui/litellm-dashboard | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 | |
| with: | |
| fetch-depth: 1 | |
| persist-credentials: false | |
| - name: Detect relevant changes | |
| id: changes | |
| uses: ./.github/actions/detect-changes | |
| with: | |
| category: ui | |
| - name: Setup Node.js | |
| if: steps.changes.outputs.decision != 'skip' | |
| uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0 | |
| with: | |
| node-version-file: ui/litellm-dashboard/.nvmrc | |
| cache: "npm" | |
| cache-dependency-path: ui/litellm-dashboard/package-lock.json | |
| - name: Install dependencies | |
| if: steps.changes.outputs.decision != 'skip' | |
| run: npm ci | |
| - name: Run UI type tests (Vitest) | |
| if: steps.changes.outputs.decision != 'skip' | |
| env: | |
| CI: "true" | |
| run: npm run test:types | |
| - name: Run UI unit tests (Vitest) | |
| if: steps.changes.outputs.decision != 'skip' | |
| env: | |
| CI: "true" | |
| GH_TOKEN: ${{ github.token }} | |
| BASE_SHA: ${{ github.event.pull_request.base.sha }} | |
| HEAD_SHA: ${{ github.event.pull_request.head.sha }} | |
| run: | | |
| full_suite() { npm run test -- --run --pool forks --poolOptions.forks.maxForks=14; } | |
| if [ -z "$BASE_SHA" ]; then | |
| echo "Push to $GITHUB_REF_NAME: running the full suite" | |
| full_suite | |
| exit 0 | |
| fi | |
| merge_base=$(gh api "repos/${{ github.repository }}/compare/${BASE_SHA}...${HEAD_SHA}?per_page=1" --jq '.merge_base_commit.sha') | |
| test -n "$merge_base" | |
| git fetch --no-tags --depth=1 origin "$merge_base" "$HEAD_SHA" | |
| changed_files=() | |
| while IFS= read -r f; do | |
| changed_files+=("$f") | |
| done < <(git diff --name-only --relative "$merge_base" "$HEAD_SHA" -- .) | |
| if [ ${#changed_files[@]} -eq 0 ]; then | |
| echo "No UI files changed in this PR; skipping unit tests." | |
| exit 0 | |
| fi | |
| scope=$(printf '%s\n' "${changed_files[@]}" | bash "$GITHUB_WORKSPACE/.github/scripts/select_ui_test_scope.sh") | |
| if [ "$scope" != related ]; then | |
| echo "Pull request: ${#changed_files[@]} changed UI files reach outside src/, so related would miss their dependents; running the full suite" | |
| full_suite | |
| exit 0 | |
| fi | |
| echo "Pull request: running tests related to ${#changed_files[@]} changed UI files" | |
| npm run test -- related "${changed_files[@]}" --run --passWithNoTests \ | |
| --pool forks --poolOptions.forks.maxForks=14 |