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

Add turbo / improve Rust build caching in GitHub Actions #31464

Merged
merged 42 commits into from Dec 16, 2021
Merged

Conversation

jaredpalmer
Copy link
Contributor

@jaredpalmer jaredpalmer commented Nov 15, 2021

Implements Turborepo for the Next.js repository and leverage it for native build caching.

@jaredpalmer jaredpalmer changed the title Improve Rust build caching in GitHub Action Improve Rust build caching in GitHub Actions Nov 15, 2021
@ijjk

This comment has been minimized.

@ijjk

This comment has been minimized.

@ijjk

This comment has been minimized.

package.json Outdated Show resolved Hide resolved
@ijjk

This comment has been minimized.

@ijjk

This comment has been minimized.

@ijjk

This comment has been minimized.

@jaredpalmer jaredpalmer changed the title Improve Rust build caching in GitHub Actions Add turbo / improve Rust build caching in GitHub Actions Dec 15, 2021
@ijjk

This comment has been minimized.

@ijjk

This comment has been minimized.

padmaia
padmaia previously approved these changes Dec 16, 2021
@ijjk

This comment has been minimized.

@ijjk

This comment has been minimized.

@ijjk
Copy link
Member

ijjk commented Dec 16, 2021

Failing test suites

Commit: 2ce41fa

test/integration/polyfill-node-modules/test/index.test.js

  • Basic Features > should polyfill Node.js modules
Expand output

● Basic Features › should polyfill Node.js modules

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

Expected: 105
Received: undefined

  23 |     const data = await browser
  24 |       .waitForElementByCss('#node-browser-polyfills')
> 25 |       .text()
     |              ^
  26 |     const parsedData = JSON.parse(data)
  27 |
  28 |     expect(parsedData.vm).toBe(105)

  at Object.<anonymous> (integration/polyfill-node-modules/test/index.test.js:25:31)

@ijjk

This comment has been minimized.

@ijjk
Copy link
Member

ijjk commented Dec 16, 2021

Stats from current PR

Default Build (Decrease detected ✓)
General Overall increase ⚠️
vercel/next.js canary vercel/next.js jp/rust-caching Change
buildDuration 17s 17.3s ⚠️ +363ms
buildDurationCached 3.1s 3.2s ⚠️ +119ms
nodeModulesSize 348 MB 348 MB ⚠️ +118 B
Page Load Tests Overall decrease ⚠️
vercel/next.js canary vercel/next.js jp/rust-caching Change
/ failed reqs 0 0
/ total time (seconds) 2.782 2.863 ⚠️ +0.08
/ avg req/sec 898.59 873.18 ⚠️ -25.41
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.25 1.282 ⚠️ +0.03
/error-in-render avg req/sec 2000.53 1950.1 ⚠️ -50.43
Client Bundles (main, webpack, commons)
vercel/next.js canary vercel/next.js jp/rust-caching Change
450.HASH.js gzip 179 B 179 B
framework-HASH.js gzip 42.2 kB 42.2 kB
main-HASH.js gzip 30.2 kB 30.2 kB
webpack-HASH.js gzip 1.45 kB 1.45 kB
Overall change 74 kB 74 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js jp/rust-caching Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary vercel/next.js jp/rust-caching Change
_app-HASH.js gzip 1.37 kB 1.37 kB
_error-HASH.js gzip 194 B 194 B
amp-HASH.js gzip 312 B 312 B
css-HASH.js gzip 326 B 326 B
dynamic-HASH.js gzip 2.37 kB 2.37 kB
head-HASH.js gzip 350 B 350 B
hooks-HASH.js gzip 919 B 919 B
image-HASH.js gzip 4.73 kB 4.73 kB
index-HASH.js gzip 263 B 263 B
link-HASH.js gzip 2.13 kB 2.13 kB
routerDirect..HASH.js gzip 321 B 321 B
script-HASH.js gzip 383 B 383 B
withRouter-HASH.js gzip 318 B 318 B
85e02e95b279..7e3.css gzip 107 B 107 B
Overall change 14.1 kB 14.1 kB
Client Build Manifests
vercel/next.js canary vercel/next.js jp/rust-caching Change
_buildManifest.js gzip 459 B 459 B
Overall change 459 B 459 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js jp/rust-caching Change
index.html gzip 532 B 532 B
link.html gzip 546 B 546 B
withRouter.html gzip 526 B 526 B
Overall change 1.6 kB 1.6 kB

Default Build with SWC (Decrease detected ✓)
General Overall increase ⚠️
vercel/next.js canary vercel/next.js jp/rust-caching Change
buildDuration 18.5s 18.3s -124ms
buildDurationCached 3.2s 3.2s ⚠️ +52ms
nodeModulesSize 348 MB 348 MB ⚠️ +118 B
Page Load Tests Overall decrease ⚠️
vercel/next.js canary vercel/next.js jp/rust-caching Change
/ failed reqs 0 0
/ total time (seconds) 2.715 2.831 ⚠️ +0.12
/ avg req/sec 920.69 883.03 ⚠️ -37.66
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.279 1.293 ⚠️ +0.01
/error-in-render avg req/sec 1954.59 1934.14 ⚠️ -20.45
Client Bundles (main, webpack, commons)
vercel/next.js canary vercel/next.js jp/rust-caching Change
450.HASH.js gzip 179 B 179 B
framework-HASH.js gzip 42.3 kB 42.3 kB
main-HASH.js gzip 30.3 kB 30.3 kB
webpack-HASH.js gzip 1.44 kB 1.44 kB
Overall change 74.3 kB 74.3 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js jp/rust-caching Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary vercel/next.js jp/rust-caching Change
_app-HASH.js gzip 1.35 kB 1.35 kB
_error-HASH.js gzip 180 B 180 B
amp-HASH.js gzip 305 B 305 B
css-HASH.js gzip 321 B 321 B
dynamic-HASH.js gzip 2.36 kB 2.36 kB
head-HASH.js gzip 342 B 342 B
hooks-HASH.js gzip 906 B 906 B
image-HASH.js gzip 4.75 kB 4.75 kB
index-HASH.js gzip 256 B 256 B
link-HASH.js gzip 2.19 kB 2.19 kB
routerDirect..HASH.js gzip 314 B 314 B
script-HASH.js gzip 375 B 375 B
withRouter-HASH.js gzip 309 B 309 B
85e02e95b279..7e3.css gzip 107 B 107 B
Overall change 14.1 kB 14.1 kB
Client Build Manifests
vercel/next.js canary vercel/next.js jp/rust-caching Change
_buildManifest.js gzip 459 B 459 B
Overall change 459 B 459 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js jp/rust-caching Change
index.html gzip 532 B 532 B
link.html gzip 546 B 546 B
withRouter.html gzip 526 B 526 B
Overall change 1.6 kB 1.6 kB
Commit: 7d0e324

@styfle styfle requested a review from padmaia December 16, 2021 20:06
@kodiakhq kodiakhq bot merged commit ed022ed into canary Dec 16, 2021
@kodiakhq kodiakhq bot deleted the jp/rust-caching branch December 16, 2021 20:10
@vercel vercel locked as resolved and limited conversation to collaborators Jan 27, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants