diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 1141d6265786..da389b7a279f 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -812,7 +812,6 @@ jobs: uses: ./.github/workflows/build_reusable.yml with: - # Keep Next.js related env variables in sync with additionalEnv in next-deploy.ts afterBuild: | export __NEXT_CACHE_COMPONENTS=true export __NEXT_EXPERIMENTAL_CACHED_NAVIGATIONS=true @@ -1168,6 +1167,62 @@ jobs: stepName: 'test-cache-components-prod-${{ matrix.group }}' secrets: inherit + test-node-streams-dev: + name: test node streams dev + needs: ['optimize-ci', 'changes', 'build-native', 'build-next'] + if: ${{ needs.optimize-ci.outputs.skip == 'false' && needs.changes.outputs.docs-only == 'false' }} + + strategy: + fail-fast: false + matrix: + group: [1/6, 2/6, 3/6, 4/6, 5/6, 6/6] + uses: ./.github/workflows/build_reusable.yml + with: + afterBuild: | + export __NEXT_USE_NODE_STREAMS=true + export __NEXT_CACHE_COMPONENTS=true + export __NEXT_EXPERIMENTAL_CACHED_NAVIGATIONS=true + export __NEXT_EXPERIMENTAL_APP_NEW_SCROLL_HANDLER=true + export NEXT_EXTERNAL_TESTS_FILTERS="test/cache-components-tests-manifest.json,test/use-node-streams-tests-manifest.json" + export NEXT_TEST_MODE=dev + export IS_TURBOPACK_TEST=1 + export TURBOPACK_DEV=1 + + node run-tests.js \ + --timings \ + -g ${{ matrix.group }} \ + --type development + stepName: 'test-node-streams-dev-${{ matrix.group }}' + secrets: inherit + + test-node-streams-prod: + name: test node streams prod + needs: ['optimize-ci', 'changes', 'build-native', 'build-next'] + if: ${{ needs.optimize-ci.outputs.skip == 'false' && needs.changes.outputs.docs-only == 'false' }} + + strategy: + fail-fast: false + matrix: + group: [1/7, 2/7, 3/7, 4/7, 5/7, 6/7, 7/7] + uses: ./.github/workflows/build_reusable.yml + with: + afterBuild: | + export __NEXT_USE_NODE_STREAMS=true + export __NEXT_CACHE_COMPONENTS=true + export __NEXT_EXPERIMENTAL_CACHED_NAVIGATIONS=true + export __NEXT_EXPERIMENTAL_APP_NEW_SCROLL_HANDLER=true + export NEXT_EXTERNAL_TESTS_FILTERS="test/cache-components-tests-manifest.json,test/use-node-streams-tests-manifest.json" + export NEXT_TEST_MODE=start + export IS_TURBOPACK_TEST=1 + export TURBOPACK_BUILD=1 + + node run-tests.js \ + --timings \ + -g ${{ matrix.group }} \ + --type production + stepName: 'test-node-streams-prod-${{ matrix.group }}' + secrets: inherit + tests-pass: needs: [ @@ -1186,6 +1241,8 @@ jobs: 'test-cache-components-dev', 'test-cache-components-prod', 'test-cache-components-integration', + 'test-node-streams-dev', + 'test-node-streams-prod', 'test-cargo-unit', 'rust-check', 'rustdoc-check', diff --git a/test/cache-components-tests-manifest.json b/test/cache-components-tests-manifest.json index a994c7a02b8d..e0f32cf3b375 100644 --- a/test/cache-components-tests-manifest.json +++ b/test/cache-components-tests-manifest.json @@ -157,6 +157,7 @@ "test/e2e/app-dir/dynamic-data/dynamic-data.test.ts", "test/e2e/app-dir/dynamic-href/dynamic-href.test.ts", "test/e2e/app-dir/dynamic-in-generate-params/index.test.ts", + "test/e2e/app-dir/dynamic-import-tree-shaking/dynamic-import-tree-shaking.test.ts", "test/e2e/app-dir/dynamic-interception-route-revalidate/dynamic-interception-route-revalidate.test.ts", "test/e2e/app-dir/cache-components-*/**/*", "test/e2e/app-dir/cache-components/**/*", @@ -342,8 +343,11 @@ "test/integration/app-types/app-types.test.ts", "test/production/app-dir-edge-runtime-with-wasm/index.test.ts", "test/production/app-dir-prevent-304-caching/index.test.ts", + "test/production/app-dir/actions-tree-shaking/basic/basic-edge.test.ts", + "test/production/app-dir/actions-tree-shaking/mixed-module-actions/mixed-module-actions-edge.test.ts", "test/production/app-dir/actions-tree-shaking/reexport/reexport-edge.test.ts", "test/production/app-dir/actions-tree-shaking/reexport/reexport.test.ts", + "test/production/app-dir/actions-tree-shaking/shared-module-actions/shared-module-actions-edge.test.ts", "test/production/app-dir/actions-tree-shaking/use-effect-actions/use-effect-actions-edge.test.ts", "test/production/app-dir/app-fetch-build-cache/app-fetch-build-cache.test.ts", "test/production/app-dir/build-output-tree-view/build-output-tree-view.test.ts", diff --git a/test/use-node-streams-tests-manifest.json b/test/use-node-streams-tests-manifest.json new file mode 100644 index 000000000000..ed39414d49b1 --- /dev/null +++ b/test/use-node-streams-tests-manifest.json @@ -0,0 +1,14 @@ +{ + "version": 2, + "suites": {}, + "rules": { + "include": [ + "test/e2e/**/*.test.{t,j}s{,x}", + "test/integration/app-*/**/*.test.{t,j}s{,x}", + "test/production/app-*/**/*.test.{t,j}s{,x}", + "test/development/app-*/**/*.test.{t,j}s{,x}", + "test/development/acceptance-app/**/*.test.{t,j}s{,x}" + ], + "exclude": [] + } +}