Skip to content

chore(release): new release #10947

chore(release): new release

chore(release): new release #10947

Workflow file for this run

name: CI
on:
push:
branches:
- main
- next
pull_request:
branches:
- main
- next
permissions:
contents: read
jobs:
lint:
name: Lint
runs-on: ${{ matrix.os }}
concurrency:
group: lint-${{ github.ref }}
cancel-in-progress: true
strategy:
matrix:
os: [ubuntu-latest]
node-version: [lts/*]
webpack-version: [latest]
steps:
- name: Checkout code
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Node.js v${{ matrix.node-version }}
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
- name: Lint
run: npm run lint
test:
name: Test - ${{ matrix.os }} - Node v${{ matrix.node-version }}, Webpack ${{ matrix.webpack-version }}, DevServer ${{ matrix.dev-server-version }}
runs-on: ${{ matrix.os }}
concurrency:
group: test-${{ matrix.os }}-v${{ matrix.node-version }}-${{ matrix.webpack-version }}-${{ matrix.dev-server-version }}-${{ github.ref }}
cancel-in-progress: true
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
node-version: [20.x, 22.x, 24.x, 25.x, 26.x]
webpack-version: [latest]
dev-server-version: [5, latest]
steps:
- name: Checkout code
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- name: Using Node.js v${{ matrix.node-version }}
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
- name: Install pnpm
uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 #6.0.10
with:
version: 10
- name: Install dependencies
run: npm ci --ignore-scripts
- name: Install webpack-dev-server ${{ matrix.dev-server-version }}
if: matrix.dev-server-version == '5'
run: npm install webpack-dev-server@${{ matrix.dev-server-version }} --no-save --ignore-scripts
- name: Prepare environment for tests
run: npm run build -- --sourceMap true
- name: Run tests and generate coverage
run: npm run test:coverage -- --ci
env:
# c8 remaps every script V8 reported before applying its include
# filter, which exceeds Node.js 20's default heap on macOS runners
NODE_OPTIONS: --max-old-space-size=4096
- name: Upload coverage to Codecov
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
with:
token: ${{ secrets.CODECOV_TOKEN }}
smoketests:
name: Smoketests
runs-on: ${{ matrix.os }}
concurrency:
group: smoketests-${{ github.ref }}
cancel-in-progress: true
strategy:
matrix:
os: [ubuntu-latest]
node-version: [lts/*]
steps:
- name: Checkout code
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- name: Using Node.js v${{ matrix.node-version }}
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Prepare environment for tests
run: npm run build -- --sourceMap true
- name: Run smoketests
run: npm run test:smoketests
- name: Upload coverage to Codecov
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
with:
token: ${{ secrets.CODECOV_TOKEN }}