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 parallel step for running integration tests with experimental bundler on CI #8245

Merged
merged 1 commit into from
Jun 29, 2022

Conversation

thebriando
Copy link
Contributor

@thebriando thebriando commented Jun 23, 2022

↪️ Pull Request

This adds a step in the workflow to run the integration tests with the experimental bundler. They are not required to pass for merging.

💻 Examples

🚨 Test instructions

✔️ PR Todo

  • Added/updated unit tests for this change
  • Filled out test instructions (In case there aren't any unit tests)
  • Included links to related issues/PRs

@parcel-benchmark
Copy link

parcel-benchmark commented Jun 23, 2022

Benchmark Results

Kitchen Sink ✅

Timings

Description Time Difference
Cold 1.83s +79.00ms
Cached 392.00ms -1.00ms

Cold Bundles

Bundle Size Difference Time Difference
dist/legacy/index.2c76ad23.js 1.66kb +0.00b 570.00ms +46.00ms ⚠️
dist/legacy/index.8aaa89c9.js 1.20kb +0.00b 571.00ms +47.00ms ⚠️
dist/modern/index.6be20f01.js 1.13kb +0.00b 570.00ms +46.00ms ⚠️

Cached Bundles

Bundle Size Difference Time Difference
dist/legacy/parcel.7cdb0fad.webp 102.94kb +0.00b 273.00ms -14.00ms 🚀
dist/legacy/parcel.7cdb0fad.webp 102.94kb +0.00b 274.00ms -14.00ms 🚀
dist/legacy/index.2c76ad23.js 1.66kb +0.00b 508.00ms -31.00ms 🚀
dist/legacy/index.8aaa89c9.js 1.20kb +0.00b 508.00ms -31.00ms 🚀
dist/modern/index.6be20f01.js 1.13kb +0.00b 508.00ms -31.00ms 🚀
dist/legacy/index.b8ae99ba.css 94.00b +0.00b 280.00ms -20.00ms 🚀
dist/modern/index.31cedca9.css 94.00b +0.00b 279.00ms -21.00ms 🚀

React HackerNews ✅

Timings

Description Time Difference
Cold 11.33s +288.00ms
Cached 527.00ms -7.00ms

Cold Bundles

No bundle changes detected.

Cached Bundles

No bundle changes detected.

AtlasKit Editor ✅

Timings

Description Time Difference
Cold 1.96m +1.33s
Cached 3.08s +3.00ms

Cold Bundles

Bundle Size Difference Time Difference
dist/esm.c7dc1640.js 61.96kb +0.00b 1.46m +40.36s ⚠️
dist/workerHasher.e50d242f.js 1.72kb +0.00b 1.46m +40.35s ⚠️
dist/16.1969624f.js 1.08kb +0.00b 47.09s +4.26s ⚠️
dist/16.069344b7.js 905.00b +0.00b 47.09s +4.26s ⚠️
dist/simpleHasher.46d6f2e5.js 742.00b +0.00b 1.46m +40.35s ⚠️
dist/index.html 240.00b +0.00b 1.47m +50.27s ⚠️

Cached Bundles

Bundle Size Difference Time Difference
dist/workerHasher.e50d242f.js 1.72kb +0.00b 1.49m +41.89s ⚠️
dist/16.1969624f.js 1.08kb +0.00b 48.82s +5.89s ⚠️
dist/16.069344b7.js 905.00b +0.00b 48.82s +5.89s ⚠️
dist/simpleHasher.46d6f2e5.js 742.00b +0.00b 1.49m +41.89s ⚠️
dist/ro.82d888a1.js 633.00b +0.00b 43.98s +2.45s ⚠️
dist/index.html 240.00b +0.00b 43.99s +6.32s ⚠️

Three.js ✅

Timings

Description Time Difference
Cold 8.16s -43.00ms
Cached 327.00ms -22.00ms 🚀

Cold Bundles

No bundle changes detected.

Cached Bundles

No bundle changes detected.

Click here to view a detailed benchmark overview.

@thebriando thebriando marked this pull request as ready for review June 23, 2022 20:45
@thebriando thebriando changed the base branch from v2 to experimental-bundler-integration June 23, 2022 21:22
@thebriando thebriando removed the request for review from devongovett June 23, 2022 21:22
@thebriando thebriando merged commit 2df0724 into experimental-bundler-integration Jun 29, 2022
AGawrys added a commit that referenced this pull request Jun 30, 2022
* add ref edges whenever there are bundle edges

* add edge from bundlegroups to bundles wip

* * Get inline bundles in bundle group in HTML packager
* Traverse each bundle instead of iterating each outbound node
* Add edge between root and bundle

* use and follow reference edges again

* set env whenever we create bundles

* Check to add parallel edges from all paths to an asset from a bundle

* Always register referenced bundles before pruning when building bundle manifest

* Add test for referenced roots in bundle manifest

* Add reused sibling bundles to asyncBundleRootGraph

* Add test case for asset that has both an async and sync import

*stop at isolated bundles

*initialize entry bundles with no ancestors

*accept shared bundles extracted from workers

* Remove unused async bundles if needed

* Scope-hositing with new bundler: allow less duplication

* Consider sibling availability before removing from ancestorAssets

* Remove reachableBundles

* Consider sibling availability before removing from ancestorAssets

* Consider assets in siblings before duplicating

* Don't consider any of parent's async bundles as sibling

* remove eager bundle reuse and related lending code

* implement parallel request limits

* create all shared bundles first then remove later

* Alter tests with mode production and correct assets with logic for splittable bundles

* Skip unused dependencies in experimental bundler

* Implement getBundleFromBundleRoot

* Only add dependencies to CSS module JS, not CSS

* Handle multiple assets on dependencies in reachability

* ScopeHoistingPackager: Handle different wrapped ancestries in wrapping dfs

* move reachable root creation earlier to prevent unnecessary async bundle

* replace reachableroots with syncAssetsRequired and skip sync deps for entries later on

* Revert "replace reachableroots with syncAssetsRequired and skip sync deps for entries later on"

* Implement cleanup for internalized deps from entrys

* skip assets for reachable if isolated or inline fix invariant

* skip assets for reachable if isolated or inline fix invariant

* Use bundleGroup instead of bundle root for determining needsStableName

* remove asset references for deleted bundles + minor fixes

* Filter out bundleroots from reacable if they are subgraphs, consider isIsolated

* Add bundle.mainEntryAsset

* ExperimentalBundler: merge bundleBehavior and needsStableName

* don't remove bundles depended on by url

* don't flatted bundle to bundlegroup edges

* point config to default bundler, create type change bundle regardless them clean based on bundlegroups, add referencing bundle to stack when creating bundles instead of only parent or bundlegroup, add merge and delete bundles to clean all structures

* extract shared bundles from inline bundles

* Internalize all async bundle before placing assets into bundles, add internalized assets to share bundles from their source bundles

* add assert bundles to test

* Reverse merge asset insertion order to maintain dep order for css, remove addassetonexit, instead do upward dfs to determine bundlegroups for assets

* Forked tests which rely on size calculation for shared bundles which is different across bundles and rename bundles steps without numbers

* Addedge support to toposort, use edges to differentiate parallel and async relationships in bundleroot, share assets between paralllel dep bundleroots

* Add support for multiple targets by bundling per entries per target

* parallel request limits + test

* Dont allow multiple bundles of entry type in entry bundlegroupsr

* Add parallel step for running integration tests with experimental bundler (#8245)

Co-authored-by: Gora Kong <[email protected]>
Co-authored-by: Will Binns-Smith <[email protected]>
Co-authored-by: Eric Eldredge <[email protected]>
Co-authored-by: thebriando <[email protected]>
Co-authored-by: Niklas Mischkulnig <[email protected]>
Co-authored-by: Devon Govett <[email protected]>
Co-authored-by: Gora Kong <[email protected]>
@mischnic mischnic deleted the bdo/experimental-on-ci branch December 21, 2022 17:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants