Skip to content

test: add dual-major rspack compatibility smoke suite #2352

test: add dual-major rspack compatibility smoke suite

test: add dual-major rspack compatibility smoke suite #2352

Workflow file for this run

name: CI Checks
on:
push:
branches: [main]
paths-ignore:
- 'website/**'
pull_request:
paths-ignore:
- 'website/**'
workflow_dispatch:
permissions:
contents: read
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # tag=v4.2.2
- name: Setup workspace
uses: ./.github/actions/setup-pnpm-node
with:
node-version: '24'
- name: Lint
run: pnpm lint:ci
typecheck:
name: TypeScript
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # tag=v4.2.2
- name: Setup workspace
uses: ./.github/actions/setup-pnpm-node
with:
node-version: '24'
- name: Type check
run: pnpm typecheck
test_pr:
name: Tests
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # tag=v4.2.2
- name: Setup workspace
uses: ./.github/actions/setup-pnpm-node
with:
node-version: '24'
- name: Run tests
run: pnpm test
test_pr_rspack1:
name: Tests [Rspack 1]
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # tag=v4.2.2
- name: Setup workspace
uses: ./.github/actions/setup-pnpm-node
with:
node-version: '24'
- name: Run tests against Rspack 1
run: pnpm turbo run test:rspack1
test_pr_rspack_compat:
name: Tests [Rspack compat smoke]
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # tag=v4.2.2
- name: Setup workspace
uses: ./.github/actions/setup-pnpm-node
with:
node-version: '24'
# built-dist smoke tests: pack repack into a tarball, install it into
# standalone fixtures pinning each @rspack/core major, and assert the
# dual-major behavior matrix against the real dist
- name: Run dual-major smoke suite
run: pnpm --filter rspack-compat-test test:smoke
test_pr_windows:
name: Tests [Windows]
if: github.event_name == 'pull_request'
runs-on: windows-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # tag=v4.2.2
- name: Setup workspace
uses: ./.github/actions/setup-pnpm-node
with:
node-version: '24'
# the require(esm) loading path of @rspack/core@2 and the version
# helpers' filesystem resolution are Windows-sensitive - run the
# repack unit suite under both majors
- name: Run repack tests
run: pnpm turbo run test --filter @callstack/repack
- name: Run repack tests against Rspack 1
run: pnpm turbo run test:rspack1