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

test: migrate all v9 libraries to use new conformance setup which improves test execution by approx 46% #27669

Merged

Conversation

Hotell
Copy link
Contributor

@Hotell Hotell commented Apr 24, 2023

New Behavior

All v9 packages use new conformance API. packages were migrated automatically via nx workspace-generator migrate-converged-pkg --all

Related Issue(s)

@github-actions github-actions bot added this to the April Project Cycle Q2 2023 milestone Apr 24, 2023
@Hotell Hotell changed the title Hotell/build/faster ci/conformance tests fix 3 test: migrate all v9 libraries to use new conformance setup which improves test execution by approx 46% Apr 24, 2023
@Hotell Hotell mentioned this pull request Apr 24, 2023
11 tasks
@codesandbox-ci
Copy link

codesandbox-ci bot commented Apr 24, 2023

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 b44ffc3:

Sandbox Source
@fluentui/react 8 starter Configuration
@fluentui/react-components 9 starter Configuration

@fabricteam
Copy link
Collaborator

fabricteam commented Apr 24, 2023

Perf Analysis (@fluentui/react-components)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
Avatar mount 839 850 5000
Button mount 452 440 5000
Field mount 1466 1515 5000
FluentProvider mount 1078 1103 5000
FluentProviderWithTheme mount 131 143 10
FluentProviderWithTheme virtual-rerender 131 121 10
FluentProviderWithTheme virtual-rerender-with-unmount 123 134 10
InfoButton mount 26 29 5000
MakeStyles mount 1344 1308 50000
Persona mount 2479 2433 5000
SpinButton mount 1943 1877 5000

@size-auditor
Copy link

size-auditor bot commented Apr 24, 2023

Asset size changes

⚠️ Insufficient baseline data to detect size changes

Unable to find bundle size details for Baseline commit: 232c4b3

Possible causes

  • The baseline build 232c4b3 is broken
  • The Size Auditor run for the baseline build 232c4b3 was not triggered

Recommendations

  • Please merge your branch for this Pull request with the latest master build and commit your changes once again

@fabricteam
Copy link
Collaborator

Perf Analysis (@fluentui/react-northstar)

Perf tests with no regressions
Scenario Current PR Ticks Baseline Ticks Ratio
ChatWithPopoverPerf.default 265 232 1.14:1
AvatarMinimalPerf.default 144 131 1.1:1
LoaderMinimalPerf.default 256 236 1.08:1
PortalMinimalPerf.default 122 113 1.08:1
TreeWith60ListItems.default 120 113 1.06:1
CarouselMinimalPerf.default 349 333 1.05:1
ListMinimalPerf.default 393 379 1.04:1
SegmentMinimalPerf.default 260 250 1.04:1
ToolbarMinimalPerf.default 686 658 1.04:1
ButtonSlotsPerf.default 407 395 1.03:1
CardMinimalPerf.default 386 375 1.03:1
CheckboxMinimalPerf.default 1600 1553 1.03:1
DividerMinimalPerf.default 261 253 1.03:1
InputMinimalPerf.default 732 711 1.03:1
LayoutMinimalPerf.default 272 264 1.03:1
MenuMinimalPerf.default 625 609 1.03:1
MenuButtonMinimalPerf.default 1279 1242 1.03:1
AttachmentMinimalPerf.default 99 97 1.02:1
AttachmentSlotsPerf.default 839 822 1.02:1
HeaderSlotsPerf.default 575 562 1.02:1
RadioGroupMinimalPerf.default 337 330 1.02:1
TextAreaMinimalPerf.default 348 340 1.02:1
TooltipMinimalPerf.default 1663 1630 1.02:1
AnimationMinimalPerf.default 373 368 1.01:1
ChatMinimalPerf.default 539 533 1.01:1
EmbedMinimalPerf.default 2414 2383 1.01:1
GridMinimalPerf.default 250 247 1.01:1
ItemLayoutMinimalPerf.default 915 903 1.01:1
PopupMinimalPerf.default 454 451 1.01:1
ProviderMergeThemesPerf.default 978 971 1.01:1
ProviderMinimalPerf.default 276 273 1.01:1
ReactionMinimalPerf.default 269 267 1.01:1
SkeletonMinimalPerf.default 257 254 1.01:1
StatusMinimalPerf.default 504 501 1.01:1
TableManyItemsPerf.default 1442 1425 1.01:1
TreeMinimalPerf.default 600 595 1.01:1
AccordionMinimalPerf.default 105 105 1:1
DatepickerMinimalPerf.default 4852 4873 1:1
DialogMinimalPerf.default 575 575 1:1
HeaderMinimalPerf.default 261 262 1:1
LabelMinimalPerf.default 278 278 1:1
ListCommonPerf.default 486 486 1:1
ListNestedPerf.default 410 410 1:1
RosterPerf.default 1839 1839 1:1
SliderMinimalPerf.default 916 914 1:1
IconMinimalPerf.default 460 459 1:1
TableMinimalPerf.default 300 299 1:1
CustomToolbarPrototype.default 1918 1915 1:1
ButtonOverridesMissPerf.default 827 835 0.99:1
ChatDuplicateMessagesPerf.default 194 196 0.99:1
DropdownManyItemsPerf.default 493 496 0.99:1
DropdownMinimalPerf.default 1819 1832 0.99:1
FormMinimalPerf.default 281 284 0.99:1
SplitButtonMinimalPerf.default 3028 3047 0.99:1
VideoMinimalPerf.default 517 521 0.99:1
BoxMinimalPerf.default 252 256 0.98:1
FlexMinimalPerf.default 203 207 0.98:1
ImageMinimalPerf.default 281 288 0.98:1
ListWith60ListItems.default 464 474 0.98:1
TextMinimalPerf.default 248 254 0.98:1
ButtonMinimalPerf.default 106 109 0.97:1
RefMinimalPerf.default 136 144 0.94:1
AlertMinimalPerf.default 189 204 0.93:1

@fabricteam
Copy link
Collaborator

🕵 fluentuiv8 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

fabricteam commented Apr 24, 2023

🕵 fluentuiv9 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

fabricteam commented Apr 24, 2023

📊 Bundle size report

Unchanged fixtures
Package & Exports Size (minified/GZIP)
react-accordion
Accordion (including children components)
86.172 kB
26.143 kB
react-alert
Alert
93.779 kB
22.493 kB
react-avatar
Avatar
57.544 kB
14.966 kB
react-avatar
AvatarGroup
15.632 kB
6.258 kB
react-avatar
AvatarGroupItem
73.758 kB
19.478 kB
react-badge
Badge
23.512 kB
7.197 kB
react-badge
CounterBadge
24.416 kB
7.506 kB
react-badge
PresenceBadge
31.904 kB
8.296 kB
react-button
Button
37.179 kB
9.534 kB
react-button
CompoundButton
44.328 kB
11.016 kB
react-button
MenuButton
41.866 kB
10.861 kB
react-button
SplitButton
50.254 kB
12.441 kB
react-button
ToggleButton
55.559 kB
11.479 kB
react-card
Card - All
86.061 kB
24.345 kB
react-card
Card
80.997 kB
22.895 kB
react-card
CardFooter
9.158 kB
3.844 kB
react-card
CardHeader
11.048 kB
4.538 kB
react-card
CardPreview
9.963 kB
4.192 kB
react-checkbox
Checkbox
34.379 kB
10.833 kB
react-combobox
Combobox (including child components)
87.056 kB
28.011 kB
react-combobox
Dropdown (including child components)
85.74 kB
27.747 kB
react-components
react-components: Button, FluentProvider & webLightTheme
65.31 kB
17.931 kB
react-components
react-components: Accordion, Button, FluentProvider, Image, Menu, Popover
204.498 kB
57.184 kB
react-components
react-components: FluentProvider & webLightTheme
36.086 kB
11.9 kB
react-datepicker-compat
DatePicker Compat
220.414 kB
58.527 kB
react-dialog
Dialog (including children components)
91.028 kB
27.083 kB
react-divider
Divider
17.399 kB
6.298 kB
react-field
Field
18.864 kB
7.004 kB
react-image
Image
11.479 kB
4.573 kB
react-infobutton
InfoButton
128.088 kB
39.045 kB
react-infobutton
InfoLabel
131.371 kB
40.039 kB
react-input
Input
24.133 kB
7.723 kB
react-label
Label
10.104 kB
4.185 kB
react-link
Link
12.357 kB
5.091 kB
react-menu
Menu (including children components)
128.359 kB
39.232 kB
react-menu
Menu (including selectable components)
131.343 kB
39.747 kB
react-persona
Persona
64.465 kB
16.892 kB
react-popover
Popover
115.071 kB
35.448 kB
react-portal-compat
PortalCompatProvider
6.446 kB
2.186 kB
react-progress
ProgressBar
13.856 kB
5.434 kB
react-provider
FluentProvider
18.033 kB
6.666 kB
react-radio
Radio
27.282 kB
8.661 kB
react-radio
RadioGroup
11.312 kB
4.71 kB
react-select
Select
25.357 kB
8.798 kB
react-slider
Slider
34.274 kB
11.069 kB
react-spinbutton
SpinButton
34.045 kB
10.376 kB
react-spinner
Spinner
20.882 kB
6.798 kB
react-switch
Switch
29.806 kB
9.274 kB
react-table
DataGrid
147.821 kB
40.593 kB
react-table
Table (Primitives only)
44.348 kB
12.347 kB
react-table
Table as DataGrid
130.378 kB
33.193 kB
react-table
Table (Selection only)
78.289 kB
19.194 kB
react-table
Table (Sort only)
77.619 kB
19.004 kB
react-text
Text - Default
12.492 kB
4.92 kB
react-text
Text - Wrappers
15.63 kB
5.25 kB
react-textarea
Textarea
27.562 kB
9.087 kB
react-tooltip
Tooltip
46.819 kB
16.412 kB
🤖 This report was generated against e0e8de0dadce1a0adcd77acb96028d562773b53d

@fabricteam
Copy link
Collaborator

🕵 FluentUI-v0 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

Perf Analysis (@fluentui/react)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
BaseButton mount 815 858 5000
Breadcrumb mount 2288 2254 1000
Checkbox mount 2134 2201 5000
CheckboxBase mount 1886 2020 5000
ChoiceGroup mount 3684 3791 5000
ComboBox mount 865 859 1000
CommandBar mount 8212 8213 1000
ContextualMenu mount 18051 18309 1000
DefaultButton mount 1063 1062 5000
DetailsRow mount 2896 3065 5000
DetailsRowFast mount 2880 2941 5000
DetailsRowNoStyles mount 2749 2877 5000
Dialog mount 3384 3571 1000
DocumentCardTitle mount 313 317 1000
Dropdown mount 2569 2562 5000
FocusTrapZone mount 1515 1529 5000
FocusZone mount 1467 1460 5000
GroupedList mount 49819 57661 2
GroupedList virtual-rerender 21954 24059 2
GroupedList virtual-rerender-with-unmount 73994 74859 2
GroupedListV2 mount 333 329 2
GroupedListV2 virtual-rerender 304 302 2
GroupedListV2 virtual-rerender-with-unmount 332 322 2
IconButton mount 1433 1408 5000
Label mount 463 495 5000
Layer mount 3729 3654 5000
Link mount 538 538 5000
MenuButton mount 1243 1245 5000
MessageBar mount 27703 28017 5000
Nav mount 2559 2527 1000
OverflowSet mount 989 1133 5000
Panel mount 2264 2242 1000
Persona mount 970 973 1000
Pivot mount 1218 1218 1000
PrimaryButton mount 1101 1125 5000
Rating mount 5766 5828 5000
SearchBox mount 1165 1145 5000
Shimmer mount 2391 2463 5000
Slider mount 1741 1857 5000
SpinButton mount 3843 3734 5000
Spinner mount 524 545 5000
SplitButton mount 2423 2442 5000
Stack mount 534 532 5000
StackWithIntrinsicChildren mount 1155 1151 5000
StackWithTextChildren mount 3325 3460 5000
SwatchColorPicker mount 8148 8225 5000
TagPicker mount 1975 1974 5000
Text mount 515 494 5000
TextField mount 1225 1185 5000
ThemeProvider mount 1129 1180 5000
ThemeProvider virtual-rerender 806 787 5000
ThemeProvider virtual-rerender-with-unmount 1745 1731 5000
Toggle mount 785 799 5000
buttonNative mount 290 286 5000

@Hotell Hotell force-pushed the hotell/build/faster-ci/conformance-tests-fix-3 branch from f6d4175 to b44ffc3 Compare April 26, 2023 12:33
@Hotell Hotell marked this pull request as ready for review April 26, 2023 15:59
@Hotell Hotell merged commit 3c57318 into microsoft:master Apr 27, 2023
@Hotell Hotell deleted the hotell/build/faster-ci/conformance-tests-fix-3 branch April 27, 2023 09:46
marcosmoura added a commit to marcosmoura/fluentui that referenced this pull request Apr 27, 2023
* master:
  chore: enforce files naming to use .styles.ts [cxe-prg files] (microsoft#27707)
  chore: migrate to NodeJS v16 (microsoft#27711)
  remove react-avatar-context package (microsoft#27709)
  test: migrate all v9 libraries to use new conformance setup which improves test execution by approx 46% (microsoft#27669)
  chore: Add caret to react-datepicker-compat dependencies (microsoft#27671)
  test(fluentui/react): fix initial global leaks that were causing OOM issues (microsoft#27661)
  chore(react-utilities): simplifies useControllableState hook internals (microsoft#27702)
  chore: enforce files naming to use .styles.ts (microsoft#27698)
  feat: adds lazy loading example (microsoft#27587)
  feat: react-combobox space conditionally inserts character when freeform is true (microsoft#27025)
  chore(react-tree): updates useOpenItemsState internals (microsoft#27697)
  feat(tools): add conformance setup migration to migrate-converged-pkg generator (microsoft#27668)
  test: use `isolatedModules` for all ts-jest configs to lower memory footprint on CI (microsoft#27670)
  chore: bump @griffel/eslint-plugin & enable @griffel/hook-naming (microsoft#27687)
  feat(react-tree): makes useFlatTree generic (microsoft#27682)
  Enable export to codepen for charting library (microsoft#27539)
  Overflow: added useOverflowCount to exports (microsoft#27678)
  fix: Menu should not steal focus on re-render (microsoft#27688)
  feat(react-conformance): add new TS config api to be able to specify configName and configDir (microsoft#27664)
marcosmoura added a commit to marcosmoura/fluentui that referenced this pull request Apr 27, 2023
* feat/drawer-components: (28 commits)
  docs: update API
  feat: add style overrides for upcoming drawer components
  feat: add support to override drawer styles
  fix: prevent elements from stretching
  chore: upgrade devcontainer node version to 16 (microsoft#27716)
  fix: rename styles file to use the newer naming conventions
  test: add cypress tests for scroll positions
  chore: enforce files naming to use .styles.ts [cxe-prg files] (microsoft#27707)
  feat: add support to override drawer body styles
  chore: migrate to NodeJS v16 (microsoft#27711)
  remove react-avatar-context package (microsoft#27709)
  test: migrate all v9 libraries to use new conformance setup which improves test execution by approx 46% (microsoft#27669)
  chore: Add caret to react-datepicker-compat dependencies (microsoft#27671)
  test(fluentui/react): fix initial global leaks that were causing OOM issues (microsoft#27661)
  chore(react-utilities): simplifies useControllableState hook internals (microsoft#27702)
  chore: enforce files naming to use .styles.ts (microsoft#27698)
  feat: adds lazy loading example (microsoft#27587)
  feat: react-combobox space conditionally inserts character when freeform is true (microsoft#27025)
  chore(react-tree): updates useOpenItemsState internals (microsoft#27697)
  feat(tools): add conformance setup migration to migrate-converged-pkg generator (microsoft#27668)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants