test: add dual-major rspack compatibility smoke suite #2352
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 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 |