Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename turbopack-tests-manifest to turbopack-dev-tests-manifest #63409

Conversation

timneutkens
Copy link
Member

@timneutkens timneutkens commented Mar 18, 2024

What?

  • Renames the Turbopack tests manifest to reflect that it only holds development tests.
  • Creates initial plumbing for Turbopack build tests manifest (currently empty)
  • Added running tests in the Turbopack builds test manifest on PRs
  • Implements uploading the Turbopack builds manifest to areweturboyet

What this doesn't implement:

  • Updating the Turbopack builds manifest

Open questions:

Closes NEXT-2837

@ijjk ijjk added area: tests created-by: Next.js team PRs by the Next.js team. labels Mar 18, 2024
Copy link
Member Author

timneutkens commented Mar 18, 2024

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @timneutkens and the rest of your teammates on Graphite Graphite

@ijjk
Copy link
Member

ijjk commented Mar 18, 2024

Stats from current PR

Default Build
General
vercel/next.js canary vercel/next.js 03-18-Rename_turbopack-tests-manifest_to_turbopack-dev-tests-manifest Change
buildDuration 13.8s 13.8s N/A
buildDurationCached 8.3s 6.2s N/A
nodeModulesSize 198 MB 198 MB
nextStartRea..uration (ms) 431ms 441ms N/A
Client Bundles (main, webpack)
vercel/next.js canary vercel/next.js 03-18-Rename_turbopack-tests-manifest_to_turbopack-dev-tests-manifest Change
2453-HASH.js gzip 30.5 kB 30.5 kB N/A
3304.HASH.js gzip 181 B 181 B
3f784ff6-HASH.js gzip 53.7 kB 53.7 kB
8299-HASH.js gzip 5.04 kB 5.04 kB N/A
framework-HASH.js gzip 45.2 kB 45.2 kB
main-app-HASH.js gzip 241 B 242 B N/A
main-HASH.js gzip 32.2 kB 32.2 kB N/A
webpack-HASH.js gzip 1.68 kB 1.68 kB N/A
Overall change 99 kB 99 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js 03-18-Rename_turbopack-tests-manifest_to_turbopack-dev-tests-manifest Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary vercel/next.js 03-18-Rename_turbopack-tests-manifest_to_turbopack-dev-tests-manifest Change
_app-HASH.js gzip 196 B 197 B N/A
_error-HASH.js gzip 184 B 184 B
amp-HASH.js gzip 505 B 505 B
css-HASH.js gzip 324 B 325 B N/A
dynamic-HASH.js gzip 2.5 kB 2.5 kB N/A
edge-ssr-HASH.js gzip 258 B 258 B
head-HASH.js gzip 352 B 352 B
hooks-HASH.js gzip 370 B 371 B N/A
image-HASH.js gzip 4.21 kB 4.21 kB
index-HASH.js gzip 259 B 259 B
link-HASH.js gzip 2.67 kB 2.67 kB N/A
routerDirect..HASH.js gzip 314 B 312 B N/A
script-HASH.js gzip 386 B 386 B
withRouter-HASH.js gzip 309 B 309 B
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 6.57 kB 6.57 kB
Client Build Manifests
vercel/next.js canary vercel/next.js 03-18-Rename_turbopack-tests-manifest_to_turbopack-dev-tests-manifest Change
_buildManifest.js gzip 481 B 484 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js 03-18-Rename_turbopack-tests-manifest_to_turbopack-dev-tests-manifest Change
index.html gzip 530 B 529 B N/A
link.html gzip 541 B 542 B N/A
withRouter.html gzip 525 B 524 B N/A
Overall change 0 B 0 B
Edge SSR bundle Size
vercel/next.js canary vercel/next.js 03-18-Rename_turbopack-tests-manifest_to_turbopack-dev-tests-manifest Change
edge-ssr.js gzip 95.4 kB 95.4 kB N/A
page.js gzip 3.04 kB 3.04 kB N/A
Overall change 0 B 0 B
Middleware size
vercel/next.js canary vercel/next.js 03-18-Rename_turbopack-tests-manifest_to_turbopack-dev-tests-manifest Change
middleware-b..fest.js gzip 624 B 626 B N/A
middleware-r..fest.js gzip 151 B 151 B
middleware.js gzip 25.5 kB 25.5 kB N/A
edge-runtime..pack.js gzip 839 B 839 B
Overall change 990 B 990 B
Next Runtimes
vercel/next.js canary vercel/next.js 03-18-Rename_turbopack-tests-manifest_to_turbopack-dev-tests-manifest Change
app-page-exp...dev.js gzip 170 kB 170 kB
app-page-exp..prod.js gzip 96.9 kB 96.9 kB
app-page-tur..prod.js gzip 98.6 kB 98.6 kB
app-page-tur..prod.js gzip 93.1 kB 93.1 kB
app-page.run...dev.js gzip 144 kB 144 kB
app-page.run..prod.js gzip 91.6 kB 91.6 kB
app-route-ex...dev.js gzip 21.3 kB 21.3 kB
app-route-ex..prod.js gzip 15 kB 15 kB
app-route-tu..prod.js gzip 15 kB 15 kB
app-route-tu..prod.js gzip 14.8 kB 14.8 kB
app-route.ru...dev.js gzip 21 kB 21 kB
app-route.ru..prod.js gzip 14.8 kB 14.8 kB
pages-api-tu..prod.js gzip 9.52 kB 9.52 kB
pages-api.ru...dev.js gzip 9.8 kB 9.8 kB
pages-api.ru..prod.js gzip 9.52 kB 9.52 kB
pages-turbo...prod.js gzip 22.5 kB 22.5 kB
pages.runtim...dev.js gzip 23.1 kB 23.1 kB
pages.runtim..prod.js gzip 22.5 kB 22.5 kB
server.runti..prod.js gzip 50.7 kB 50.7 kB
Overall change 944 kB 944 kB
build cache
vercel/next.js canary vercel/next.js 03-18-Rename_turbopack-tests-manifest_to_turbopack-dev-tests-manifest Change
0.pack gzip 1.56 MB 1.55 MB N/A
index.pack gzip 105 kB 105 kB N/A
Overall change 0 B 0 B
Diff details
Diff for middleware.js

Diff too large to display

Commit: d06c77e

@ijjk
Copy link
Member

ijjk commented Mar 18, 2024

Failing test suites

Commit: 79db2c0

pnpm test test/integration/amphtml/test/index.test.js

  • AMP Usage > production mode > should have amp optimizer in trace
  • AMP Usage > production mode > With AMP context > should render the normal page that uses the AMP hook
  • AMP Usage > production mode > With AMP context > should render the AMP page that uses the AMP hook
  • AMP Usage > production mode > With AMP context > should render nested normal page with AMP hook
  • AMP Usage > production mode > With AMP context > should render nested AMP page with AMP hook
  • AMP Usage > production mode > With basic AMP usage > should render the page as valid AMP
  • AMP Usage > production mode > With basic AMP usage > should render the page without leaving render target
  • AMP Usage > production mode > With basic AMP usage > should not output client pages for AMP only
  • AMP Usage > production mode > With basic AMP usage > should not output client pages for AMP only with config exported after declaration
  • AMP Usage > production mode > With basic AMP usage > should drop custom scripts
  • AMP Usage > production mode > With basic AMP usage > should not drop custom amp scripts
  • AMP Usage > production mode > With basic AMP usage > should optimize clean
  • AMP Usage > production mode > With basic AMP usage > should auto import extensions
  • AMP Usage > production mode > With basic usage > should render the page
  • AMP Usage > production mode > canonical amphtml > should render link rel amphtml
  • AMP Usage > production mode > canonical amphtml > should render amphtml from provided rel link
  • AMP Usage > production mode > canonical amphtml > should render link rel amphtml with existing query
  • AMP Usage > production mode > canonical amphtml > should render the AMP page that uses the AMP hook
  • AMP Usage > production mode > canonical amphtml > should render a canonical regardless of amp-only status (explicit)
  • AMP Usage > production mode > canonical amphtml > should not render amphtml link tag with no AMP page
  • AMP Usage > production mode > canonical amphtml > should remove conflicting amp tags
  • AMP Usage > production mode > canonical amphtml > should allow manually setting canonical
  • AMP Usage > production mode > canonical amphtml > should allow manually setting amphtml rel
  • AMP Usage > production mode > combined styles > should combine style tags
  • AMP Usage > production mode > combined styles > should remove sourceMaps from styles
Expand output

● AMP Usage › production mode › should have amp optimizer in trace

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/amphtml/.next/next-server.js.nft.json'

  54 |     it('should have amp optimizer in trace', async () => {
  55 |       const trace = JSON.parse(
> 56 |         readFileSync(join(appDir, '.next/next-server.js.nft.json'), 'utf8')
     |                     ^
  57 |       )
  58 |       expect(
  59 |         trace.files.some((file) =>

  at Object.<anonymous> (integration/amphtml/test/index.test.js:56:21)

● AMP Usage › production mode › With basic usage › should render the page

FetchError: request to http://localhost:41827/ failed, reason: connect ECONNREFUSED 127.0.0.1:41827

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:1491:11)

● AMP Usage › production mode › With basic AMP usage › should render the page as valid AMP

FetchError: request to http://localhost:41827/?amp=1 failed, reason: connect ECONNREFUSED 127.0.0.1:41827

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:1491:11)

● AMP Usage › production mode › With basic AMP usage › should render the page without leaving render target

FetchError: request to http://localhost:41827/special-chars failed, reason: connect ECONNREFUSED 127.0.0.1:41827

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:1491:11)

● AMP Usage › production mode › With basic AMP usage › should not output client pages for AMP only

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:41827/nav
Call log:
  - navigating to "http://localhost:41827/nav", waiting until "load"

  274 |     opts?.beforePageLoad?.(page)
  275 |
> 276 |     await page.goto(url, { waitUntil: 'load' })
      |                ^
  277 |   }
  278 |
  279 |   back(options): BrowserInterface {

  at BrowserInterface.goto (lib/browsers/playwright.ts:276:16)
  at webdriver (lib/next-webdriver.ts:129:3)
  at Object.<anonymous> (integration/amphtml/test/index.test.js:94:25)

● AMP Usage › production mode › With basic AMP usage › should not output client pages for AMP only with config exported after declaration

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:41827/nav
Call log:
  - navigating to "http://localhost:41827/nav", waiting until "load"

  274 |     opts?.beforePageLoad?.(page)
  275 |
> 276 |     await page.goto(url, { waitUntil: 'load' })
      |                ^
  277 |   }
  278 |
  279 |   back(options): BrowserInterface {

  at BrowserInterface.goto (lib/browsers/playwright.ts:276:16)
  at webdriver (lib/next-webdriver.ts:129:3)
  at Object.<anonymous> (integration/amphtml/test/index.test.js:103:25)

● AMP Usage › production mode › With basic AMP usage › should drop custom scripts

FetchError: request to http://localhost:41827/custom-scripts failed, reason: connect ECONNREFUSED 127.0.0.1:41827

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:1491:11)

● AMP Usage › production mode › With basic AMP usage › should not drop custom amp scripts

FetchError: request to http://localhost:41827/amp-script?amp=1 failed, reason: connect ECONNREFUSED 127.0.0.1:41827

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:1491:11)

● AMP Usage › production mode › With basic AMP usage › should optimize clean

FetchError: request to http://localhost:41827/only-amp failed, reason: connect ECONNREFUSED 127.0.0.1:41827

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:1491:11)

● AMP Usage › production mode › With basic AMP usage › should auto import extensions

FetchError: request to http://localhost:41827/auto-import failed, reason: connect ECONNREFUSED 127.0.0.1:41827

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:1491:11)

● AMP Usage › production mode › With AMP context › should render the normal page that uses the AMP hook

FetchError: request to http://localhost:41827/use-amp-hook failed, reason: connect ECONNREFUSED 127.0.0.1:41827

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:1491:11)

● AMP Usage › production mode › With AMP context › should render the AMP page that uses the AMP hook

FetchError: request to http://localhost:41827/use-amp-hook?amp=1 failed, reason: connect ECONNREFUSED 127.0.0.1:41827

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:1491:11)

● AMP Usage › production mode › With AMP context › should render nested normal page with AMP hook

FetchError: request to http://localhost:41827/nested failed, reason: connect ECONNREFUSED 127.0.0.1:41827

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:1491:11)

● AMP Usage › production mode › With AMP context › should render nested AMP page with AMP hook

FetchError: request to http://localhost:41827/nested?amp=1 failed, reason: connect ECONNREFUSED 127.0.0.1:41827

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:1491:11)

● AMP Usage › production mode › canonical amphtml › should render link rel amphtml

FetchError: request to http://localhost:41827/use-amp-hook failed, reason: connect ECONNREFUSED 127.0.0.1:41827

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:1491:11)

● AMP Usage › production mode › canonical amphtml › should render amphtml from provided rel link

FetchError: request to http://localhost:41827/use-amp-hook.amp failed, reason: connect ECONNREFUSED 127.0.0.1:41827

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:1491:11)

● AMP Usage › production mode › canonical amphtml › should render link rel amphtml with existing query

FetchError: request to http://localhost:41827/use-amp-hook?hello=1 failed, reason: connect ECONNREFUSED 127.0.0.1:41827

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:1491:11)

● AMP Usage › production mode › canonical amphtml › should render the AMP page that uses the AMP hook

FetchError: request to http://localhost:41827/use-amp-hook?amp=1 failed, reason: connect ECONNREFUSED 127.0.0.1:41827

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:1491:11)

● AMP Usage › production mode › canonical amphtml › should render a canonical regardless of amp-only status (explicit)

FetchError: request to http://localhost:41827/only-amp failed, reason: connect ECONNREFUSED 127.0.0.1:41827

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:1491:11)

● AMP Usage › production mode › canonical amphtml › should not render amphtml link tag with no AMP page

FetchError: request to http://localhost:41827/normal failed, reason: connect ECONNREFUSED 127.0.0.1:41827

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:1491:11)

● AMP Usage › production mode › canonical amphtml › should remove conflicting amp tags

FetchError: request to http://localhost:41827/conflicting-tag?amp=1 failed, reason: connect ECONNREFUSED 127.0.0.1:41827

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:1491:11)

● AMP Usage › production mode › canonical amphtml › should allow manually setting canonical

FetchError: request to http://localhost:41827/manual-rels?amp=1 failed, reason: connect ECONNREFUSED 127.0.0.1:41827

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:1491:11)

● AMP Usage › production mode › canonical amphtml › should allow manually setting amphtml rel

FetchError: request to http://localhost:41827/manual-rels failed, reason: connect ECONNREFUSED 127.0.0.1:41827

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:1491:11)

● AMP Usage › production mode › combined styles › should combine style tags

FetchError: request to http://localhost:41827/styled?amp=1 failed, reason: connect ECONNREFUSED 127.0.0.1:41827

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:1491:11)

● AMP Usage › production mode › combined styles › should remove sourceMaps from styles

FetchError: request to http://localhost:41827/styled?amp=1 failed, reason: connect ECONNREFUSED 127.0.0.1:41827

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:1491:11)

Read more about building and testing Next.js in contributing.md.

TURBOPACK=1 pnpm test test/integration/create-next-app/package-manager.test.ts (turbopack)

  • should use Yarn as the package manager on supplying --use-yarn

  • should infer yarn as the package manager

Expand output

● should use Yarn as the package manager on supplying --use-yarn

expect(received).toBe(expected) // Object.is equality

Expected: true
Received: false

  80 |   for (const file of files) {
  81 |     try {
> 82 |       expect(existsSync(resolve(projectRoot, file))).toBe(true)
     |                                                      ^
  83 |     } catch (err) {
  84 |       require('console').error(
  85 |         `missing expected file ${file}`,

  at toBe (integration/create-next-app/lib/utils.ts:82:54)
  at integration/create-next-app/package-manager.test.ts:124:28
  at useTempDir (lib/use-temp-dir.ts:24:5)
  at Object.<anonymous> (integration/create-next-app/package-manager.test.ts:104:3)

● should infer yarn as the package manager

expect(received).toBe(expected) // Object.is equality

Expected: true
Received: false

  80 |   for (const file of files) {
  81 |     try {
> 82 |       expect(existsSync(resolve(projectRoot, file))).toBe(true)
     |                                                      ^
  83 |     } catch (err) {
  84 |       require('console').error(
  85 |         `missing expected file ${file}`,

  at toBe (integration/create-next-app/lib/utils.ts:82:54)
  at integration/create-next-app/package-manager.test.ts:438:28
  at useTempDir (lib/use-temp-dir.ts:24:5)
  at Object.<anonymous> (integration/create-next-app/package-manager.test.ts:410:3)

Read more about building and testing Next.js in contributing.md.

pnpm test-dev test/e2e/app-dir/navigation/navigation.test.ts

  • app dir - navigation > navigating to dynamic params & changing the casing > should load the page correctly
Expand output

● app dir - navigation › navigating to dynamic params & changing the casing › should load the page correctly

expect(received).toContain(expected) // indexOf

Expected substring: "[paramB] page"
Received string:    "/paramA/paramB
/paramA/noParam"

  853 |
  854 |         await retry(async () => {
> 855 |           expect(await browser.elementByCss('body').text()).toContain(
      |                                                             ^
  856 |             '[paramB] page'
  857 |           )
  858 |         })

  at toContain (e2e/app-dir/navigation/navigation.test.ts:855:61)
  at retry (lib/next-test-utils.ts:724:14)
  at Object.<anonymous> (e2e/app-dir/navigation/navigation.test.ts:854:9)

Read more about building and testing Next.js in contributing.md.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe rename that file too?

Base automatically changed from 03-18-Update_Turbopack_workflows_to_have_clearer_names to canary March 18, 2024 16:34
@timneutkens timneutkens force-pushed the 03-18-Rename_turbopack-tests-manifest_to_turbopack-dev-tests-manifest branch from 177ed8e to 6900329 Compare March 18, 2024 16:41
@timneutkens timneutkens force-pushed the 03-18-Rename_turbopack-tests-manifest_to_turbopack-dev-tests-manifest branch from 79db2c0 to 479e198 Compare March 19, 2024 08:41
@timneutkens timneutkens marked this pull request as ready for review March 19, 2024 09:05
@timneutkens timneutkens requested review from ijjk, shuding, huozhi and a team as code owners March 19, 2024 09:05
@timneutkens timneutkens requested review from a team, feedthejim, ztanner and wyattjoh as code owners March 19, 2024 09:05
@timneutkens timneutkens requested review from jh3y and delbaoliveira and removed request for a team March 19, 2024 09:05
@timneutkens timneutkens merged commit d91e78a into canary Mar 19, 2024
76 of 77 checks passed
@timneutkens timneutkens deleted the 03-18-Rename_turbopack-tests-manifest_to_turbopack-dev-tests-manifest branch March 19, 2024 09:26
@github-actions github-actions bot added the locked label Apr 2, 2024
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Apr 2, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
created-by: Next.js team PRs by the Next.js team. locked
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants