perf(reporters): remove needless Array.from call #17362
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: CI | |
| # Remove default permissions of GITHUB_TOKEN for security | |
| # https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs | |
| permissions: {} | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| workflow_dispatch: | |
| concurrency: | |
| group: ci-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| PLAYWRIGHT_BROWSERS_PATH: ${{ github.workspace }}/.cache/ms-playwright | |
| VITEST_GENERATE_UI_TOKEN: 'true' | |
| jobs: | |
| lint: | |
| timeout-minutes: 10 | |
| runs-on: ubuntu-latest | |
| name: 'Lint: node-latest, ubuntu-latest' | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: ./.github/actions/setup-and-cache | |
| - name: Install | |
| run: pnpm i | |
| - name: Build | |
| run: pnpm run build | |
| # check uncommited LICENSE.md, auto-imports.d.ts, etc... | |
| - name: Check stale build artifacts | |
| run: git diff --exit-code | |
| - name: Lint | |
| run: pnpm run lint | |
| - name: Typecheck | |
| run: pnpm run typecheck | |
| - name: Typecheck UI | |
| run: pnpm run -C packages/ui typecheck:client | |
| # From https://github.com/rhysd/actionlint/blob/main/docs/usage.md#use-actionlint-on-github-actions | |
| - name: Check workflow files | |
| run: | | |
| bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash) | |
| ./actionlint -color -shellcheck="" | |
| changed: | |
| runs-on: ubuntu-latest | |
| name: 'Diff: node-latest, ubuntu-latest' | |
| outputs: | |
| should_skip: ${{ steps.changed-files.outputs.only_changed == 'true' }} | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Get changed files | |
| id: changed-files | |
| uses: tj-actions/changed-files@a284dc1814e3fd07f2e34267fc8f81227ed29fb8 # v45.0.9 | |
| with: | |
| files: | | |
| docs/** | |
| .github/** | |
| !.github/workflows/ci.yml | |
| **.md | |
| test: | |
| needs: changed | |
| name: 'Build&Test: node-${{ matrix.node_version }}, ${{ matrix.os }}' | |
| if: needs.changed.outputs.should_skip != 'true' | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 30 | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest] | |
| node_version: [20, 22, 24] | |
| include: | |
| - os: macos-latest | |
| node_version: 24 | |
| - os: windows-latest | |
| node_version: 24 | |
| fail-fast: false | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: ./.github/actions/setup-and-cache | |
| with: | |
| node-version: ${{ matrix.node_version }} | |
| - uses: browser-actions/setup-chrome@b94431e051d1c52dcbe9a7092a4f10f827795416 # v2.1.0 | |
| - name: Install | |
| run: pnpm i | |
| - uses: ./.github/actions/setup-playwright | |
| - name: Build | |
| run: pnpm run build | |
| - name: Test | |
| run: pnpm run test:ci | |
| - name: Test Examples | |
| run: pnpm run test:examples | |
| - name: Unit Test UI | |
| run: pnpm run -C packages/ui test:ui | |
| - uses: actions/upload-artifact@v4 | |
| if: ${{ !cancelled() }} | |
| with: | |
| name: playwright-report | |
| path: test/ui/test-results/ | |
| retention-days: 30 | |
| test-browser: | |
| needs: changed | |
| name: 'Browsers: node-22, ${{ matrix.os }}' | |
| if: needs.changed.outputs.should_skip != 'true' | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: | |
| - macos-latest | |
| - windows-latest | |
| fail-fast: false | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: ./.github/actions/setup-and-cache | |
| with: | |
| node-version: 22 | |
| - uses: browser-actions/setup-chrome@b94431e051d1c52dcbe9a7092a4f10f827795416 # v2.1.0 | |
| - uses: browser-actions/setup-firefox@5914774dda97099441f02628f8d46411fcfbd208 # v1.7.0 | |
| - name: Install | |
| run: pnpm i | |
| - uses: ./.github/actions/setup-playwright | |
| - name: Build | |
| run: pnpm run build | |
| - name: Test Browser (playwright) | |
| run: pnpm run test:browser:playwright | |
| - name: Test Browser (webdriverio) | |
| run: pnpm run test:browser:webdriverio | |
| test-rolldown: | |
| needs: changed | |
| # macos-latest is the fastest one | |
| name: 'Rolldown&Test: node-22, macos-latest' | |
| if: needs.changed.outputs.should_skip != 'true' | |
| runs-on: macos-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: ./.github/actions/setup-and-cache | |
| with: | |
| node-version: 22 | |
| - uses: browser-actions/setup-chrome@b94431e051d1c52dcbe9a7092a4f10f827795416 # v2.1.0 | |
| - name: Install | |
| run: pnpm add vite@npm:rolldown-vite && git add . && git commit -m "ci" && pnpm i --prefer-offline --no-frozen-lockfile | |
| - uses: ./.github/actions/setup-playwright | |
| - name: Build | |
| run: pnpm run build | |
| - name: Test | |
| run: pnpm run test:ci | |
| - name: Test Examples | |
| run: pnpm run test:examples | |
| - name: Test Browser (playwright) | |
| run: pnpm run test:browser:playwright | |
| - uses: actions/upload-artifact@v4 | |
| if: ${{ !cancelled() }} | |
| with: | |
| name: playwright-report-rolldown | |
| path: rolldown/test/ui/test-results/ | |
| retention-days: 30 |