11name : ci-rsc
2+
3+ permissions : {}
4+
25on :
6+ workflow_dispatch :
37 push :
48 branches :
59 - main
1721 test :
1822 runs-on : ubuntu-latest
1923 steps :
20- - uses : actions/checkout@v4
24+ - uses : actions/checkout@v5
2125 - uses : actions/setup-node@v4
2226 with :
2327 node-version : 22
@@ -28,34 +32,55 @@ jobs:
2832 - run : pnpm -C packages/plugin-rsc test
2933
3034 test-e2e :
31- name : test-rsc (${{ matrix.os }} / ${{ matrix.browser }})
35+ name : test-rsc (${{ matrix.os }} / ${{ matrix.browser }}) ${{ matrix.rolldown == true && '(rolldown)' || '' }} ${{ matrix.react_version && format('(react-{0})', matrix.react_version) || '' }}
3236 runs-on : ${{ matrix.os }}
3337 strategy :
34- # TODO: shard?
3538 matrix :
3639 os : [ubuntu-latest, macos-latest, windows-latest]
3740 browser : [chromium]
41+ rolldown : [false]
42+ react_version : [""]
3843 include :
3944 - os : ubuntu-latest
4045 browser : firefox
4146 - os : macos-latest
4247 browser : webkit
48+ - os : ubuntu-latest
49+ browser : chromium
50+ rolldown : true
51+ - os : ubuntu-latest
52+ browser : chromium
53+ react_version : canary
54+ - os : ubuntu-latest
55+ browser : chromium
56+ react_version : experimental
4357 fail-fast : false
4458 steps :
45- - uses : actions/checkout@v4
59+ - uses : actions/checkout@v5
4660 - uses : actions/setup-node@v4
4761 with :
4862 node-version : 22
4963 - uses : pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
5064 - run : pnpm i
65+ - name : install react
66+ if : ${{ matrix.react_version }}
67+ run : |
68+ sed -i "/^overrides:/a\ react: \"${{ matrix.react_version }}\"" pnpm-workspace.yaml
69+ sed -i "/^overrides:/a\ react-dom: \"${{ matrix.react_version }}\"" pnpm-workspace.yaml
70+ sed -i "/^overrides:/a\ react-server-dom-webpack: \"${{ matrix.react_version }}\"" pnpm-workspace.yaml
71+ pnpm i --no-frozen-lockfile
5172 - run : pnpm build
73+ - name : install rolldown
74+ if : ${{ matrix.rolldown }}
75+ run : |
76+ sed -i '/^overrides:/a\ vite: "npm:rolldown-vite@latest"' pnpm-workspace.yaml
77+ pnpm i --no-frozen-lockfile
5278 - run : pnpm -C packages/plugin-rsc exec playwright install ${{ matrix.browser }}
5379 - run : pnpm -C packages/plugin-rsc test-e2e-ci --project=${{ matrix.browser }}
54- env :
55- TEST_ISOLATED : true
5680 - uses : actions/upload-artifact@v4
5781 if : always()
5882 with :
59- name : test-results-${{ matrix.os }}-${{ matrix.browser }}
83+ name : test-results-${{ matrix.os }}-${{ matrix.browser }}${{ matrix.rolldown == true && '-rolldown' || '' }}${{ matrix.react_version && format('-react-{0}', matrix.react_version) || '' }}
6084 path : |
6185 packages/plugin-rsc/test-results
86+ if-no-files-found : ignore
0 commit comments