fix: adapt @rspack/core 1.1.9 #431
Workflow file for this run
This file contains 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: Test | |
on: | |
pull_request: | |
branches: [main] | |
push: | |
branches: [main] | |
workflow_dispatch: | |
jobs: | |
# ======== calculate changes ======== | |
changes: | |
runs-on: ubuntu-latest | |
outputs: | |
changed: ${{ steps.changes.outputs.changed }} | |
strategy: | |
matrix: | |
node-version: [18] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 10 | |
- name: Install Pnpm | |
run: corepack enable | |
- uses: dorny/paths-filter@v3.0.2 | |
id: changes | |
with: | |
predicate-quantifier: 'every' | |
filters: | | |
changed: | |
- "!**/*.md" | |
- "!**/*.mdx" | |
- "!**/_meta.json" | |
- "!**/dictionary.txt" | |
# ======== ut ======== | |
ut: | |
runs-on: ${{ matrix.os }} | |
needs: changes | |
if: ${{ needs.changes.outputs.changed == 'true' }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
node-version: [18, 20, 22] | |
include: | |
- node-version: 18 | |
os: windows-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 10 | |
- name: Git config | |
if: ${{ matrix.os == 'windows-latest' }} | |
shell: bash | |
run: | | |
git config --system core.longpaths true | |
- name: Install Pnpm | |
run: corepack enable | |
- name: Setup Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: 'pnpm' | |
- name: Install Dependencies | |
run: pnpm install | |
- name: Unit Test | |
run: pnpm run test:unit | |
# ======== integration && e2e ======== | |
integration-e2e: | |
runs-on: ${{ matrix.os }} | |
needs: changes | |
if: ${{ needs.changes.outputs.changed == 'true' }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
node-version: [18, 20, 22] | |
include: | |
- node-version: 18 | |
os: windows-latest | |
steps: | |
- name: Git config | |
if: ${{ matrix.os == 'windows-latest' }} | |
shell: bash | |
run: | | |
git config --system core.longpaths true | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 10 | |
- name: Install Pnpm | |
run: corepack enable | |
- name: Setup Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: 'pnpm' | |
- name: Install Dependencies | |
run: pnpm install && cd ./tests && pnpm playwright install chromium | |
- name: Integration Test (Vitest) | |
run: pnpm run test:integration | |
- name: E2E Test (Playwright) | |
run: pnpm run test:e2e | |
# ======== benchmark ======== | |
benchmark: | |
# Only Ubuntu 20.04 and 22.04 are supported at the moment. | |
# See https://github.com/CodSpeedHQ/action/blob/016456b513677f9d4a1c509c7f8a38d8dd55b2b0/.github/workflows/ci.yml#L19. | |
runs-on: ubuntu-22.04 | |
needs: [integration-e2e] | |
strategy: | |
matrix: | |
node-version: [20] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 10 | |
- name: Install Pnpm | |
run: corepack enable | |
- name: Setup Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: 'pnpm' | |
- name: Install Dependencies | |
run: pnpm install && cd ./tests && pnpm playwright install chromium | |
# only run benchmark in Ubuntu | |
- name: Benchmarks (Vitest) | |
uses: CodSpeedHQ/action@v3 | |
with: | |
run: pnpm run test:benchmark | |
# token retrieved from the CodSpeed app at the previous step | |
token: ${{ secrets.CODSPEED_TOKEN }} | |
# ======== exit ======== | |
pr-check-required: | |
if: (!cancelled() && !failure()) | |
needs: [ut, integration-e2e, benchmark] | |
runs-on: ubuntu-latest | |
name: Test passed or skipped | |
steps: | |
- run: echo "All tests passed or skipped." |