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

Optimizing PR builds with new feature from lage #14530

Merged
merged 2 commits into from
Aug 14, 2020

Conversation

kenotron
Copy link
Member

Description of changes

Previously, we had to roll back scoped changes as well as splitting back out build from test / lint. This was due to the lack of ability for lage to specify an order for @fluentui/docs:build and @fluentui/react-northstar:test. Now that this has been added in lage, we can combine those steps again to optimize the build better.

Focus areas to test

(optional)

@codesandbox-ci
Copy link

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit 7b2777b:

Sandbox Source
Fluent UI Button Configuration
microsoft/fluentui: codesandbox-react-template Configuration
microsoft/fluentui: codesandbox-react-next-template Configuration
microsoft/fluentui: codesandbox-react-northstar-template Configuration

@size-auditor
Copy link

size-auditor bot commented Aug 14, 2020

Asset size changes

Size Auditor did not detect a change in bundle size for any component!

Baseline commit: 5c64f924a4d4a87089b127ff065db3818f31c3fb (build)

@msft-github-bot
Copy link
Contributor

Perf Analysis

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
BaseButton mount 884 874 5000
ButtonNext mount 561 557 5000
Checkbox mount 1613 1567 5000
CheckboxBase mount 1269 1297 5000
CheckboxNext mount 1737 1613 5000
ChoiceGroup mount 4870 5029 5000
ComboBox mount 955 908 1000
CommandBar mount 7654 7673 1000
ContextualMenu mount 13881 13758 1000
DefaultButton mount 1139 1102 5000
DetailsRow mount 3582 3476 5000
DetailsRowFast mount 3546 3487 5000
DetailsRowNoStyles mount 3347 3341 5000
Dialog mount 1526 1486 1000
DocumentCardTitle mount 1875 1817 1000
Dropdown mount 2595 2568 5000
FocusZone mount 1805 1842 5000
IconButton mount 1697 1664 5000
Label mount 335 318 5000
Link mount 452 458 5000
LinkNext mount 493 463 5000
MenuButton mount 1430 1493 5000
Nav mount 3210 3197 1000
Panel mount 1468 1421 1000
Persona mount 854 861 1000
Pivot mount 1416 1439 1000
PivotNext mount 1407 1373 1000
PrimaryButton mount 1286 1265 5000
SearchBox mount 1255 1293 5000
SearchBoxNext mount 1303 1307 5000
Slider mount 1463 1462 5000
SliderNext mount 1926 1889 5000
SpinButton mount 4988 5120 5000
SpinButtonNext mount 5026 5037 5000
Spinner mount 410 424 5000
SplitButton mount 3132 3054 5000
Stack mount 523 535 5000
StackWithIntrinsicChildren mount 1994 1993 5000
StackWithTextChildren mount 5094 4979 5000
TagPicker mount 2782 2774 5000
Text mount 421 410 5000
TextField mount 1361 1347 5000
ThemeProvider mount 3049 3034 5000
ThemeProvider virtual-rerender 455 457 5000
Toggle mount 838 851 5000
ToggleNext mount 832 801 5000
button mount 120 124 5000

Perf Analysis (Fluent)

⚠️ 2 potential perf regressions detected

Potential regressions comparing to master

Scenario Current PR Ticks Baseline Ticks Ratio Regression Analysis
ButtonOverridesMissPerf.default 118 46 2.57:1 analysis
ButtonUseCssPerf.default 51 44 1.16:1 analysis
Perf comparison
Status Scenario Fluent TPI Fabric TPI Ratio Iterations Ticks
🎯 Avatar.Fluent 0.42 0.48 0.88:1 2000 846
🦄 Button.Fluent 0.11 0.18 0.61:1 5000 536
🔧 Checkbox.Fluent 0.62 0.33 1.88:1 1000 621
🦄 Dialog.Fluent 0.15 0.22 0.68:1 5000 740
🔧 Dropdown.Fluent 2.86 0.46 6.22:1 1000 2861
🔧 Icon.Fluent 0.13 0.05 2.6:1 5000 674
🎯 Image.Fluent 0.07 0.1 0.7:1 5000 361
🔧 Slider.Fluent 1.62 0.34 4.76:1 1000 1620
🔧 Text.Fluent 0.06 0.02 3:1 5000 322
🦄 Tooltip.Fluent 0.1 17.25 0.01:1 5000 501

🔧 Needs work     🎯 On target     🦄 Amazing

Perf tests with no regressions
Scenario Current PR Ticks Baseline Ticks Ratio
ButtonUseCssNestingPerf.default 52 41 1.27:1
AttachmentMinimalPerf.default 168 142 1.18:1
BoxMinimalPerf.default 355 314 1.13:1
AlertMinimalPerf.default 306 273 1.12:1
ImageMinimalPerf.default 352 320 1.1:1
ProviderMinimalPerf.default 993 903 1.1:1
TextAreaMinimalPerf.default 460 420 1.1:1
AccordionMinimalPerf.default 150 139 1.08:1
PortalMinimalPerf.default 126 117 1.08:1
ReactionMinimalPerf.default 381 354 1.08:1
TableMinimalPerf.default 382 354 1.08:1
HeaderMinimalPerf.default 353 331 1.07:1
RadioGroupMinimalPerf.default 397 371 1.07:1
ButtonMinimalPerf.default 169 159 1.06:1
GridMinimalPerf.default 329 311 1.06:1
ListNestedPerf.default 905 855 1.06:1
RefMinimalPerf.default 210 199 1.06:1
Image.Fluent 361 342 1.06:1
MenuButtonMinimalPerf.default 1494 1426 1.05:1
SegmentMinimalPerf.default 334 319 1.05:1
SliderMinimalPerf.default 1659 1580 1.05:1
FlexMinimalPerf.default 269 259 1.04:1
HeaderSlotsPerf.default 776 746 1.04:1
LabelMinimalPerf.default 376 363 1.04:1
ProviderMergeThemesPerf.default 1931 1861 1.04:1
StatusMinimalPerf.default 666 639 1.04:1
Button.Fluent 536 515 1.04:1
AvatarMinimalPerf.default 482 466 1.03:1
DialogMinimalPerf.default 742 720 1.03:1
ListWith60ListItems.default 1084 1055 1.03:1
PopupMinimalPerf.default 650 629 1.03:1
ToolbarMinimalPerf.default 915 891 1.03:1
VideoMinimalPerf.default 605 586 1.03:1
Avatar.Fluent 846 824 1.03:1
Slider.Fluent 1620 1580 1.03:1
AnimationMinimalPerf.default 383 374 1.02:1
ButtonSlotsPerf.default 579 567 1.02:1
CarouselMinimalPerf.default 450 440 1.02:1
ChatDuplicateMessagesPerf.default 450 442 1.02:1
DividerMinimalPerf.default 337 332 1.02:1
ItemLayoutMinimalPerf.default 1237 1210 1.02:1
MenuMinimalPerf.default 826 807 1.02:1
IconMinimalPerf.default 639 627 1.02:1
TreeWith60ListItems.default 201 197 1.02:1
Dialog.Fluent 740 726 1.02:1
Icon.Fluent 674 662 1.02:1
AttachmentSlotsPerf.default 1122 1108 1.01:1
CardMinimalPerf.default 534 531 1.01:1
CheckboxMinimalPerf.default 2778 2745 1.01:1
TooltipMinimalPerf.default 743 739 1.01:1
DropdownManyItemsPerf.default 777 774 1:1
EmbedMinimalPerf.default 1825 1818 1:1
SplitButtonMinimalPerf.default 3675 3675 1:1
TextMinimalPerf.default 323 322 1:1
CustomToolbarPrototype.default 3689 3692 1:1
Checkbox.Fluent 621 618 1:1
Text.Fluent 322 321 1:1
Tooltip.Fluent 501 501 1:1
ChatMinimalPerf.default 558 562 0.99:1
LoaderMinimalPerf.default 708 717 0.99:1
SkeletonMinimalPerf.default 391 396 0.99:1
TreeMinimalPerf.default 835 841 0.99:1
Dropdown.Fluent 2861 2899 0.99:1
DropdownMinimalPerf.default 2868 2917 0.98:1
InputMinimalPerf.default 1300 1331 0.98:1
LayoutMinimalPerf.default 370 377 0.98:1
ListCommonPerf.default 914 937 0.98:1
TableManyItemsPerf.default 2109 2158 0.98:1
ChatWithPopoverPerf.default 457 469 0.97:1
FormMinimalPerf.default 366 397 0.92:1
ListMinimalPerf.default 436 473 0.92:1

@kenotron kenotron merged commit 2ff5da6 into microsoft:master Aug 14, 2020
levithomason pushed a commit to levithomason/fluentui that referenced this pull request Aug 24, 2020
* optimizing northstar builds with more expressive lage config

* update yarn.lock
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