diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 696817a754..76b1b9b8ec 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -127,10 +127,14 @@ jobs: test-turbopack-dev: name: test turbopack dev needs: ['build-native', 'build-next'] + strategy: + fail-fast: false + matrix: + group: [1, 2, 3, 4, 5] uses: ./.github/workflows/build_reusable.yml with: skipForDocsOnly: 'yes' - afterBuild: RUST_BACKTRACE=0 NEXT_EXTERNAL_TESTS_FILTERS="$(pwd)/test/turbopack-tests-manifest.js" TURBOPACK=1 NEXT_E2E_TEST_TIMEOUT=240000 NEXT_TEST_MODE=dev node run-tests.js --test-pattern '^(test\/development)/.*\.test\.(js|jsx|ts|tsx)$' --timings -c ${TEST_CONCURRENCY} + afterBuild: RUST_BACKTRACE=0 NEXT_EXTERNAL_TESTS_FILTERS="$(pwd)/test/turbopack-tests-manifest.js" TURBOPACK=1 NEXT_E2E_TEST_TIMEOUT=240000 NEXT_TEST_MODE=dev node run-tests.js --test-pattern '^(test\/development)/.*\.test\.(js|jsx|ts|tsx)$' --timings -g ${{ matrix.group }}/5 -c ${TEST_CONCURRENCY} secrets: inherit test-turbopack-integration: @@ -139,13 +143,12 @@ jobs: strategy: fail-fast: false matrix: - group: [1] - + group: [1, 2, 3, 4, 5] uses: ./.github/workflows/build_reusable.yml with: nodeVersion: 16 skipForDocsOnly: 'yes' - afterBuild: RUST_BACKTRACE=0 NEXT_EXTERNAL_TESTS_FILTERS="$(pwd)/test/turbopack-tests-manifest.js" TURBOPACK=1 node run-tests.js --timings -g ${{ matrix.group }}/1 -c ${TEST_CONCURRENCY} --type integration + afterBuild: RUST_BACKTRACE=0 NEXT_EXTERNAL_TESTS_FILTERS="$(pwd)/test/turbopack-tests-manifest.js" TURBOPACK=1 node run-tests.js --timings -g ${{ matrix.group }}/5 -c ${TEST_CONCURRENCY} --type integration secrets: inherit test-next-swc-wasm: diff --git a/test/turbopack-tests-manifest.js b/test/turbopack-tests-manifest.js index cf7b406536..fdae633aef 100644 --- a/test/turbopack-tests-manifest.js +++ b/test/turbopack-tests-manifest.js @@ -2,28 +2,140 @@ // Only tests that are actively testing against Turbopack should // be enabled here const enabledTests = [ + 'test/development/acceptance-app/server-components.test.ts', + 'test/development/acceptance/hydration-error.test.ts', 'test/development/api-cors-with-rewrite/index.test.ts', + 'test/development/app-dir/multiple-compiles-single-route/multiple-compiles-single-route.test.ts', + 'test/development/app-dir/strict-mode-enabled-by-default/strict-mode-enabled-by-default.test.ts', + 'test/development/basic/define-class-fields.test.ts', + 'test/development/basic/emotion-swc.test.ts', + 'test/development/basic/legacy-decorators.test.ts', + 'test/development/basic/misc.test.ts', + 'test/development/basic/next-rs-api.test.ts', + 'test/development/basic/theme-ui.test.ts', + 'test/development/client-dev-overlay/index.test.ts', + 'test/development/correct-tsconfig-defaults/index.test.ts', + 'test/development/dotenv-default-expansion/index.test.ts', + 'test/development/experimental-https-server/https-server.generated-key.test.ts', + 'test/development/experimental-https-server/https-server.provided-key.test.ts', + 'test/development/gssp-notfound/index.test.ts', + 'test/development/jsconfig-path-reloading/index.test.ts', 'test/development/middleware-warnings/index.test.ts', - 'test/e2e/app-dir/app-css-pageextensions/index.test.ts', - 'test/e2e/app-dir/app-rendering/rendering.test.ts', + 'test/development/next-font/deprecated-package.test.ts', + 'test/development/project-directory-with-styled.jsx', + 'test/development/repeated-dev-edits/repeated-dev-edits.test.ts', + 'test/development/tsconfig-path-reloading/index.test.ts', + 'test/development/typescript-auto-install/index.test.ts', + 'test/development/watch-config-file/index.test.ts', + 'test/e2e/404-page-router/index.test.ts', + 'test/e2e/app-dir/actions/app-action-export.test.ts', + 'test/e2e/app-dir/actions/app-action-invalid.test.ts', + 'test/e2e/app-dir/actions/app-action-size-limit-invalid.test.ts', + 'test/e2e/app-dir/app-edge-root-layout/index.test.ts', + 'test/e2e/app-dir/app-fetch-deduping/app-fetch-deduping.test.ts', + 'test/e2e/app-dir/app-routes-trailing-slash/app-routes-trailing-slash.test.ts', 'test/e2e/app-dir/app-simple-routes/app-simple-routes.test.ts', + 'test/e2e/app-dir/app-static/app-fetch-logging.test.ts', + 'test/e2e/app-dir/app-static/app-static-custom-cache-handler-esm.test.ts', + 'test/e2e/app-dir/app-validation/validation.test.ts', + 'test/e2e/app-dir/asset-prefix/asset-prefix.test.ts', + 'test/e2e/app-dir/async-component-preload/async-component-preload.test.ts', + 'test/e2e/app-dir/autoscroll-with-css-modules/index.test.ts', + 'test/e2e/app-dir/base-path/index.test.ts', 'test/e2e/app-dir/build-size/index.test.ts', + 'test/e2e/app-dir/crypto-globally-available/crypto-globally-available.test.ts', + 'test/e2e/app-dir/deopted-into-client-rendering-warning/deopted-into-client-rendering-warning.test.ts', + 'test/e2e/app-dir/front-redirect-issue/front-redirect-issue.test.ts', + 'test/e2e/app-dir/global-error/basic/index.test.ts', + 'test/e2e/app-dir/global-error/layout-error/index.test.ts', + 'test/e2e/app-dir/headers-static-bailout/headers-static-bailout.test.ts', + 'test/e2e/app-dir/hello-world/hello-world.test.ts', + 'test/e2e/app-dir/i18n-hybrid/i18n-hybrid.test.js', + 'test/e2e/app-dir/import/import.test.ts', + 'test/e2e/app-dir/interoperability-with-pages/navigation.test.ts', + 'test/e2e/app-dir/layout-params/layout-params.test.ts', 'test/e2e/app-dir/metadata-missing-metadata-base/index.test.ts', + 'test/e2e/app-dir/metadata-suspense/index.test.ts', + 'test/e2e/app-dir/navigation/navigation.test.ts', 'test/e2e/app-dir/next-config/index.test.ts', - 'test/e2e/disable-js-preload/test/index.test.js', + 'test/e2e/app-dir/not-found/css-precedence/index.test.ts', + 'test/e2e/app-dir/not-found/group-route-root-not-found/index.test.ts', + 'test/e2e/app-dir/rewrites-redirects/rewrites-redirects.test.ts', + 'test/e2e/app-dir/root-layout-redirect/root-layout-redirect.test.ts', + 'test/e2e/app-dir/route-page-manifest-bug/route-page-manifest-bug.test.ts', + 'test/e2e/app-dir/router-stuck-dynamic-static-segment/router-stuck-dynamic-static-segment.test.ts', + 'test/e2e/app-dir/search-params-react-key/layout-params.test.ts', + 'test/e2e/app-dir/searchparams-static-bailout/searchparams-static-bailout.test.ts', + 'test/e2e/app-dir/similar-pages-paths/similar-pages-paths.test.ts', + 'test/e2e/app-dir/test-template/{{ toFileName name }}/{{ toFileName name }}.test.ts', + 'test/e2e/app-dir/third-parties/basic.test.ts', + 'test/e2e/app-dir/use-params/use-params.test.ts', + 'test/e2e/app-dir/use-selected-layout-segment-s/use-selected-layout-segment-s.test.ts', + 'test/e2e/app-dir/with-exported-function-config/with-exported-function-config.test.ts', + 'test/e2e/browserslist-extends/index.test.ts', + 'test/e2e/children-page/index.test.ts', + 'test/e2e/config-promise-export/async-function.test.ts', + 'test/e2e/config-promise-export/promise.test.ts', + 'test/e2e/disable.js', 'test/e2e/dynamic-route-interpolation/index.test.ts', + 'test/e2e/edge-api-endpoi.ts', + 'test/e2e/edge-can-read-request-body/index.test.ts', + 'test/e2e/edge-compiler-module-expo.ts', + 'test/e2e/handle-non-hoisted-swc-helpers/index.test.ts', + 'test/e2e/hello-world/hello-world.test.ts', 'test/e2e/i18n-api-support/index.test.ts', + 'test/e2e/i18n-disallow-multiple-locales/i18n-disallow-multiple-locales.test.ts', + 'test/e2e/link-with-api-rewrite/index.test.ts', 'test/e2e/middleware-fetches-with-body/index.test.ts', 'test/e2e/next-head/index.test.ts', + 'test/e2e/next-image-forward-ref/index.test.ts', + 'test/e2e/no-eslint-warn-with-no-eslint-config/index.test.ts', 'test/e2e/nonce-head-manager/index.test.ts', + 'test/e2e/optimized-loading/test/index.test.ts', + 'test/e2e/pages-performance-mark/index.test.ts', + 'test/e2e/postcss-config-cjs/index.test.ts', + 'test/e2e/prerender-crawler.test.ts', + 'test/e2e/proxy-request-with-middleware/test/index.test.ts', + 'test/e2e/repeated-forward-slashes-error/repeated-forward-slashes-error.test.ts', 'test/e2e/ssr-react-context/index.test.ts', + 'test/e2e/styled-jsx/index.test.ts', + 'test/e2e/test-template/{{ toFileName name }}/{{ toFileName name }}.test.ts', + 'test/e2e/test-utils-tests/basic/basic.test.ts', + 'test/e2e/third-parties/index.test.ts', + 'test/e2e/trailingslash-with-rewrite/index.test.ts', 'test/e2e/transpile-packages/index.test.ts', 'test/e2e/type-module-interop/index.test.ts', + 'test/e2e/typescript-version-no-warning/typescript-version-no-warning.test.ts', + 'test/e2e/typescript-version-warning/typescript-version-warning.test.ts', 'test/e2e/undici-fetch/index.test.ts', - 'test/integration/bigint/test/index.test.js', - 'test/e2e/styled-jsx/index.test.ts', - // TODO: re-enable once the logging is aligned - // 'test/integration/middleware-basic/test/index.test.js', + 'test/integration/create-next-app/templates-app.test.ts', + 'test/integration/create-next-app/templates-pages.test.ts', + 'test/integration/custom-routes-i18n-index-redirect/test/index.test.js', + 'test/integration/index-index/test/index.test.js', + 'test/integration/next-image-new/middleware/test/index.test.ts', + 'test/integration/next-image-new/react-virtualized/test/index.test.ts', + 'test/integration/revalidate-as-path/test/index.test.js', + 'test/integration/rewrites-destination-query-array/test/index.test.js', + 'test/integration/root-optional-revalidate/test/index.test.js', + 'test/integration/route-index/test/index.test.js', + 'test/integration/route-indexes/test/index.test.js', + 'test/integration/scss/test/dev-css-handling.test.js', + 'test/integration/src-dir-support-double-dir/test/index.test.js', + 'test/integration/src-dir-support/test/index.test.js', + 'test/integration/ssg-data-404/test/index.test.js', + 'test/integration/ssg-dynamic-routes-404-page/test/index.test.js', + 'test/integration/static-404/test/index.test.js', + 'test/integration/static-page-name/test/index.test.js', + 'test/integration/trailing-slash-dist/test/index.test.js', + 'test/integration/trailing-slashes-href-resolving/test/index.test.js', + 'test/production/app-dir-hide-suppressed-error-during-next-export/index.test.ts', + 'test/production/app-dir-prefetch-non-iso-url/index.test.ts', + 'test/production/jest/new-link-behavior.test.ts', + 'test/production/jest/next-image-preload/next-image-preload.test.ts', + 'test/production/jest/rsc/lib/utils.test.js', + 'test/production/jest/transpile-packages.test.ts', + 'test/production/postcss-plugin-config-as-string/index.test.ts', + 'test/production/suppo.ts', ] module.exports = { enabledTests }