From a92bc6cd39ccf56cc1d84f2087d9b0718b842746 Mon Sep 17 00:00:00 2001 From: Tim Neutkens Date: Thu, 19 Mar 2026 18:38:38 +0100 Subject: [PATCH 1/5] Reapply "ci: add node-stream test coverage workflow (#89861)" This reverts commit afbce6a6d20558b55a991f48e7f44003aa3ddffa. --- .github/workflows/build_and_test.yml | 55 ++++++++++++++++++++++- test/use-node-streams-tests-manifest.json | 14 ++++++ 2 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 test/use-node-streams-tests-manifest.json diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index f95bd52dd5db..01d022276771 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 @@ -1163,6 +1162,58 @@ 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_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_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 + + node run-tests.js \ + --timings \ + -g ${{ matrix.group }} \ + --type production + stepName: 'test-node-streams-prod-${{ matrix.group }}' + secrets: inherit + tests-pass: needs: [ @@ -1181,6 +1232,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/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": [] + } +} From d1cc0b0978eb3bb941b58a5e89e11129884657f4 Mon Sep 17 00:00:00 2001 From: Tim Neutkens Date: Wed, 25 Mar 2026 12:32:49 -0700 Subject: [PATCH 2/5] Update build_and_test.yml --- .github/workflows/build_and_test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 01d022276771..038ea1a75b53 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -1206,6 +1206,8 @@ jobs: 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 \ From 1e07bc477358d47e7c31aa08463518a5e2922b1e Mon Sep 17 00:00:00 2001 From: Tim Neutkens Date: Wed, 25 Mar 2026 13:04:06 -0700 Subject: [PATCH 3/5] Update build_and_test.yml --- .github/workflows/build_and_test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 038ea1a75b53..f2761f75e32f 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -1176,6 +1176,7 @@ jobs: 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 @@ -1203,6 +1204,7 @@ jobs: 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 From 6ae1ff88d7b6ae27377435567d1a0f5a5776aab6 Mon Sep 17 00:00:00 2001 From: Tim Neutkens Date: Wed, 25 Mar 2026 13:10:18 -0700 Subject: [PATCH 4/5] Update build_and_test.yml --- .github/workflows/build_and_test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index f2761f75e32f..40b61778fbed 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -1204,7 +1204,7 @@ jobs: afterBuild: | export __NEXT_USE_NODE_STREAMS=true export __NEXT_CACHE_COMPONENTS=true - export __NEXT_EXPERIMENTAL_CACHED_NAVIGATIONS=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 From 6b99458cbfd024989bed3c89b9339bd7b9183d8f Mon Sep 17 00:00:00 2001 From: Tim Neutkens Date: Wed, 25 Mar 2026 14:38:32 -0700 Subject: [PATCH 5/5] Update cache-components-tests-manifest.json --- test/cache-components-tests-manifest.json | 4 ++++ 1 file changed, 4 insertions(+) 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",