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

Update to output jest data for posting failed tests comment #10814

Merged
merged 4 commits into from
Mar 4, 2020

Conversation

ijjk
Copy link
Member

@ijjk ijjk commented Mar 3, 2020

This adds the outputFile flag when running tests with jest to allow us to output this data in the logs so that our PR WebHook can post the output from jest in the failed tests comment

@ijjk ijjk added this to the 9.3.0 milestone Mar 3, 2020
@ijjk
Copy link
Member Author

ijjk commented Mar 3, 2020

Stats from current PR

Default Server Mode
General
zeit/next.js canary ijjk/next.js add/jest-output Change
buildDuration 8.5s 9.1s ⚠️ +646ms
nodeModulesSize 56.3 MB 56.3 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary ijjk/next.js add/jest-output Change
main-HASH.js gzip 5.76 kB 5.76 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..67cb.js gzip 9.69 kB 9.69 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 55.3 kB 55.3 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary ijjk/next.js add/jest-output Change
main-HASH.module.js gzip 4.79 kB 4.79 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.64 kB 6.64 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 51.3 kB 51.3 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary ijjk/next.js add/jest-output Change
polyfills-HASH.js gzip 18.9 kB 18.9 kB
Overall change 18.9 kB 18.9 kB
Client Pages
zeit/next.js canary ijjk/next.js add/jest-output Change
_app.js gzip 1.07 kB 1.07 kB
_error.js gzip 2.98 kB 2.98 kB
hooks.js gzip 664 B 664 B
index.js gzip 222 B 222 B
link.js gzip 1.89 kB 1.89 kB
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
Overall change 7.38 kB 7.38 kB
Client Pages Modern
zeit/next.js canary ijjk/next.js add/jest-output Change
_app.module.js gzip 589 B 589 B
_error.module.js gzip 2.08 kB 2.08 kB
hooks.module.js gzip 370 B 370 B
index.module.js gzip 212 B 212 B
link.module.js gzip 1.48 kB 1.48 kB
routerDirect..dule.js gzip 271 B 271 B
withRouter.m..dule.js gzip 270 B 270 B
Overall change 5.27 kB 5.27 kB
Client Build Manifests
zeit/next.js canary ijjk/next.js add/jest-output Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Rendered Page Sizes
zeit/next.js canary ijjk/next.js add/jest-output Change
index.html gzip 936 B 936 B
link.html gzip 946 B 946 B
withRouter.html gzip 934 B 934 B
Overall change 2.82 kB 2.82 kB

Serverless Mode (Decrease detected ✓)
General
zeit/next.js canary ijjk/next.js add/jest-output Change
buildDuration 10.1s 11.1s ⚠️ +1.1s
nodeModulesSize 56.3 MB 56.3 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary ijjk/next.js add/jest-output Change
main-HASH.js gzip 5.76 kB 5.76 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..67cb.js gzip 9.69 kB 9.69 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 55.3 kB 55.3 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary ijjk/next.js add/jest-output Change
main-HASH.module.js gzip 4.79 kB 4.79 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.64 kB 6.64 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 51.3 kB 51.3 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary ijjk/next.js add/jest-output Change
polyfills-HASH.js gzip 18.9 kB 18.9 kB
Overall change 18.9 kB 18.9 kB
Client Pages
zeit/next.js canary ijjk/next.js add/jest-output Change
_app.js gzip 1.07 kB 1.07 kB
_error.js gzip 2.98 kB 2.98 kB
hooks.js gzip 664 B 664 B
index.js gzip 222 B 222 B
link.js gzip 1.89 kB 1.89 kB
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
Overall change 7.38 kB 7.38 kB
Client Pages Modern
zeit/next.js canary ijjk/next.js add/jest-output Change
_app.module.js gzip 589 B 589 B
_error.module.js gzip 2.08 kB 2.08 kB
hooks.module.js gzip 370 B 370 B
index.module.js gzip 212 B 212 B
link.module.js gzip 1.48 kB 1.48 kB
routerDirect..dule.js gzip 271 B 271 B
withRouter.m..dule.js gzip 270 B 270 B
Overall change 5.27 kB 5.27 kB
Client Build Manifests
zeit/next.js canary ijjk/next.js add/jest-output Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Serverless bundles Overall decrease ✓
zeit/next.js canary ijjk/next.js add/jest-output Change
_error.js gzip 292 kB 292 kB -317 B
404.html gzip 1.34 kB 1.34 kB
hooks.html gzip 975 B 975 B
index.js gzip 292 kB 292 kB -125 B
link.js gzip 300 kB 300 kB ⚠️ +139 B
routerDirect.js gzip 298 kB 299 kB ⚠️ +1.28 kB
withRouter.js gzip 299 kB 298 kB -1.01 kB
Overall change 1.48 MB 1.48 MB -32 B

@ijjk
Copy link
Member Author

ijjk commented Mar 3, 2020

Failing test suites

test/integration/static-404/test/index.test.js

  • Static 404 page > With config enabled > should export 404 page without custom _error
Expand output

● Static 404 page › With config enabled › should export 404 page without custom _error

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

Expected: true
Received: false

  41 |       await killApp(app)
  42 |       expect(html).toContain('This page could not be found')
> 43 |       expect(await fs.exists(static404)).toBe(true)
     |                                          ^
  44 |     })
  45 | 
  46 |     it('should export 404 page without custom _error (serverless)', async () => {

  at Object.<anonymous> (integration/static-404/test/index.test.js:43:42)

@ijjk ijjk marked this pull request as ready for review March 3, 2020 23:32
@ijjk
Copy link
Member Author

ijjk commented Mar 3, 2020

Failing test suites

test/integration/app-document/test/index.test.js

  • Document and App > should not have any missing key warnings
Expand output

● Document and App › should not have any missing key warnings

expect(received).toMatch(expected)

Expected pattern: /Each child in a list should have a unique "key" prop/
Received string:  "[ wait ]  starting the development server ...
[ info ]  waiting on http://localhost:39169 ...
> Using external babel configuration
> Location: \"/home/runner/work/next.js/next.js/test/.babelrc\"
[ ready ] compiled successfully - ready on http://localhost:39169
[ event ] build page: /
[ wait ]  compiling ...
[ ready ] compiled successfully - ready on http://localhost:39169
"

  39 |   it('should not have any missing key warnings', async () => {
  40 |     await renderViaHTTP(context.appPort, '/')
> 41 |     expect(context.output).toMatch(
     |                            ^
  42 |       /Each child in a list should have a unique "key" prop/
  43 |     )
  44 |   })

  at Object.<anonymous> (integration/app-document/test/index.test.js:41:28)

@ijjk
Copy link
Member Author

ijjk commented Mar 3, 2020

Stats from current PR

Default Server Mode
General
zeit/next.js canary ijjk/next.js add/jest-output Change
buildDuration 7.7s 8.1s ⚠️ +317ms
nodeModulesSize 56.3 MB 56.3 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary ijjk/next.js add/jest-output Change
main-HASH.js gzip 5.76 kB 5.76 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..67cb.js gzip 9.69 kB 9.69 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 55.3 kB 55.3 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary ijjk/next.js add/jest-output Change
main-HASH.module.js gzip 4.79 kB 4.79 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.64 kB 6.64 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 51.3 kB 51.3 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary ijjk/next.js add/jest-output Change
polyfills-HASH.js gzip 18.9 kB 18.9 kB
Overall change 18.9 kB 18.9 kB
Client Pages
zeit/next.js canary ijjk/next.js add/jest-output Change
_app.js gzip 1.07 kB 1.07 kB
_error.js gzip 2.98 kB 2.98 kB
hooks.js gzip 664 B 664 B
index.js gzip 222 B 222 B
link.js gzip 1.89 kB 1.89 kB
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
Overall change 7.38 kB 7.38 kB
Client Pages Modern
zeit/next.js canary ijjk/next.js add/jest-output Change
_app.module.js gzip 589 B 589 B
_error.module.js gzip 2.08 kB 2.08 kB
hooks.module.js gzip 370 B 370 B
index.module.js gzip 212 B 212 B
link.module.js gzip 1.48 kB 1.48 kB
routerDirect..dule.js gzip 271 B 271 B
withRouter.m..dule.js gzip 270 B 270 B
Overall change 5.27 kB 5.27 kB
Client Build Manifests
zeit/next.js canary ijjk/next.js add/jest-output Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Rendered Page Sizes
zeit/next.js canary ijjk/next.js add/jest-output Change
index.html gzip 936 B 936 B
link.html gzip 946 B 946 B
withRouter.html gzip 934 B 934 B
Overall change 2.82 kB 2.82 kB

Serverless Mode (Increase detected ⚠️)
General
zeit/next.js canary ijjk/next.js add/jest-output Change
buildDuration 8s 7.9s -107ms
nodeModulesSize 56.3 MB 56.3 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary ijjk/next.js add/jest-output Change
main-HASH.js gzip 5.76 kB 5.76 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..67cb.js gzip 9.69 kB 9.69 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 55.3 kB 55.3 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary ijjk/next.js add/jest-output Change
main-HASH.module.js gzip 4.79 kB 4.79 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.64 kB 6.64 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 51.3 kB 51.3 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary ijjk/next.js add/jest-output Change
polyfills-HASH.js gzip 18.9 kB 18.9 kB
Overall change 18.9 kB 18.9 kB
Client Pages
zeit/next.js canary ijjk/next.js add/jest-output Change
_app.js gzip 1.07 kB 1.07 kB
_error.js gzip 2.98 kB 2.98 kB
hooks.js gzip 664 B 664 B
index.js gzip 222 B 222 B
link.js gzip 1.89 kB 1.89 kB
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
Overall change 7.38 kB 7.38 kB
Client Pages Modern
zeit/next.js canary ijjk/next.js add/jest-output Change
_app.module.js gzip 589 B 589 B
_error.module.js gzip 2.08 kB 2.08 kB
hooks.module.js gzip 370 B 370 B
index.module.js gzip 212 B 212 B
link.module.js gzip 1.48 kB 1.48 kB
routerDirect..dule.js gzip 271 B 271 B
withRouter.m..dule.js gzip 270 B 270 B
Overall change 5.27 kB 5.27 kB
Client Build Manifests
zeit/next.js canary ijjk/next.js add/jest-output Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Serverless bundles Overall increase ⚠️
zeit/next.js canary ijjk/next.js add/jest-output Change
_error.js gzip 292 kB 293 kB ⚠️ +720 B
404.html gzip 1.34 kB 1.34 kB
hooks.html gzip 975 B 975 B
index.js gzip 292 kB 292 kB ⚠️ +615 B
link.js gzip 299 kB 299 kB ⚠️ +41 B
routerDirect.js gzip 298 kB 298 kB ⚠️ +10 B
withRouter.js gzip 298 kB 298 kB ⚠️ +272 B
Overall change 1.48 MB 1.48 MB ⚠️ +1.66 kB

@ijjk
Copy link
Member Author

ijjk commented Mar 4, 2020

Stats from current PR

Default Server Mode
General
zeit/next.js canary ijjk/next.js add/jest-output Change
buildDuration 11.2s 11.2s ⚠️ +56ms
nodeModulesSize 56.3 MB 56.3 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary ijjk/next.js add/jest-output Change
main-HASH.js gzip 5.76 kB 5.76 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..67cb.js gzip 9.69 kB 9.69 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 55.3 kB 55.3 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary ijjk/next.js add/jest-output Change
main-HASH.module.js gzip 4.79 kB 4.79 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.64 kB 6.64 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 51.3 kB 51.3 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary ijjk/next.js add/jest-output Change
polyfills-HASH.js gzip 18.9 kB 18.9 kB
Overall change 18.9 kB 18.9 kB
Client Pages
zeit/next.js canary ijjk/next.js add/jest-output Change
_app.js gzip 1.07 kB 1.07 kB
_error.js gzip 2.98 kB 2.98 kB
hooks.js gzip 664 B 664 B
index.js gzip 222 B 222 B
link.js gzip 1.89 kB 1.89 kB
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
Overall change 7.38 kB 7.38 kB
Client Pages Modern
zeit/next.js canary ijjk/next.js add/jest-output Change
_app.module.js gzip 589 B 589 B
_error.module.js gzip 2.08 kB 2.08 kB
hooks.module.js gzip 370 B 370 B
index.module.js gzip 212 B 212 B
link.module.js gzip 1.48 kB 1.48 kB
routerDirect..dule.js gzip 271 B 271 B
withRouter.m..dule.js gzip 270 B 270 B
Overall change 5.27 kB 5.27 kB
Client Build Manifests
zeit/next.js canary ijjk/next.js add/jest-output Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Rendered Page Sizes
zeit/next.js canary ijjk/next.js add/jest-output Change
index.html gzip 936 B 936 B
link.html gzip 946 B 946 B
withRouter.html gzip 934 B 934 B
Overall change 2.82 kB 2.82 kB

Serverless Mode (Increase detected ⚠️)
General
zeit/next.js canary ijjk/next.js add/jest-output Change
buildDuration 12.1s 12.3s ⚠️ +122ms
nodeModulesSize 56.3 MB 56.3 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary ijjk/next.js add/jest-output Change
main-HASH.js gzip 5.76 kB 5.76 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..67cb.js gzip 9.69 kB 9.69 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 55.3 kB 55.3 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary ijjk/next.js add/jest-output Change
main-HASH.module.js gzip 4.79 kB 4.79 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.64 kB 6.64 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 51.3 kB 51.3 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary ijjk/next.js add/jest-output Change
polyfills-HASH.js gzip 18.9 kB 18.9 kB
Overall change 18.9 kB 18.9 kB
Client Pages
zeit/next.js canary ijjk/next.js add/jest-output Change
_app.js gzip 1.07 kB 1.07 kB
_error.js gzip 2.98 kB 2.98 kB
hooks.js gzip 664 B 664 B
index.js gzip 222 B 222 B
link.js gzip 1.89 kB 1.89 kB
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
Overall change 7.38 kB 7.38 kB
Client Pages Modern
zeit/next.js canary ijjk/next.js add/jest-output Change
_app.module.js gzip 589 B 589 B
_error.module.js gzip 2.08 kB 2.08 kB
hooks.module.js gzip 370 B 370 B
index.module.js gzip 212 B 212 B
link.module.js gzip 1.48 kB 1.48 kB
routerDirect..dule.js gzip 271 B 271 B
withRouter.m..dule.js gzip 270 B 270 B
Overall change 5.27 kB 5.27 kB
Client Build Manifests
zeit/next.js canary ijjk/next.js add/jest-output Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Serverless bundles Overall increase ⚠️
zeit/next.js canary ijjk/next.js add/jest-output Change
_error.js gzip 292 kB 292 kB ⚠️ +109 B
404.html gzip 1.34 kB 1.34 kB
hooks.html gzip 975 B 975 B
index.js gzip 292 kB 292 kB -668 B
link.js gzip 300 kB 300 kB ⚠️ +351 B
routerDirect.js gzip 298 kB 299 kB ⚠️ +1.23 kB
withRouter.js gzip 298 kB 298 kB -173 B
Overall change 1.48 MB 1.48 MB ⚠️ +846 B

Copy link
Member

@timneutkens timneutkens left a comment

Choose a reason for hiding this comment

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

Wow this looks 💯

@timneutkens timneutkens merged commit 8390a47 into vercel:canary Mar 4, 2020
@timneutkens timneutkens deleted the add/jest-output branch March 4, 2020 08:54
@vercel vercel locked as resolved and limited conversation to collaborators Jan 31, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants