Skip to content

Conversation

@tudorpopams
Copy link
Contributor

Current Behavior

Current Storybook docsite is deployed to Chromatic which has an initial load time (uncached) of around 8 - 10 seconds:
image

New Behavior

This PR adds a new pipeline which deploys the Storybook docsite to Github Pages through a pipeline artifact. The initial load time (uncached) of the GH pages version is around 1 second.
image

@tudorpopams
Copy link
Contributor Author

The goal of this PR is to completely replace the Chromatic pipeline with the new GH pages one, so once we have approval, we will make the switch.

@codesandbox-ci
Copy link

codesandbox-ci bot commented Sep 19, 2022

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 1b1cde5:

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

@size-auditor
Copy link

size-auditor bot commented Sep 19, 2022

Asset size changes

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

Baseline commit: 070dd0a297a2c3cd9ce3b03774a61fee9da0b774 (build)

@fabricteam
Copy link
Collaborator

fabricteam commented Sep 19, 2022

Perf Analysis (@fluentui/react-components)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
Avatar mount 1328 1323 5000
Button mount 957 960 5000
FluentProvider mount 1591 1595 5000
FluentProviderWithTheme mount 645 568 10
FluentProviderWithTheme virtual-rerender 594 591 10
FluentProviderWithTheme virtual-rerender-with-unmount 627 642 10
MakeStyles mount 1891 1874 50000
SpinButton mount 2491 2555 5000

@tudorpopams tudorpopams assigned tudorpopams and unassigned tomi-msft Sep 19, 2022
@fabricteam
Copy link
Collaborator

fabricteam commented Sep 19, 2022

📊 Bundle size report

Unchanged fixtures
Package & Exports Size (minified/GZIP)
global-context
createContext
533 B
341 B
global-context
createContextSelector
554 B
348 B
priority-overflow
createOverflowManager
2.936 kB
1.212 kB
react-accordion
Accordion (including children components)
78.914 kB
24.06 kB
react-alert
Alert
83.511 kB
20.921 kB
react-avatar
Avatar
48.381 kB
13.696 kB
react-avatar
AvatarGroup
14.95 kB
5.989 kB
react-avatar
AvatarGroupItem
68.349 kB
19.039 kB
react-badge
Badge
22.6 kB
7.205 kB
react-badge
CounterBadge
23.503 kB
7.497 kB
react-badge
PresenceBadge
24.05 kB
7.067 kB
react-button
Button
36.119 kB
9.647 kB
react-button
CompoundButton
43.144 kB
10.86 kB
react-button
MenuButton
38.813 kB
10.551 kB
react-button
SplitButton
46.228 kB
11.933 kB
react-button
ToggleButton
51.888 kB
11.127 kB
react-card
Card - All
67.002 kB
19.261 kB
react-card
Card
62.684 kB
18.177 kB
react-card
CardFooter
8.561 kB
3.601 kB
react-card
CardHeader
9.604 kB
3.94 kB
react-card
CardPreview
8.662 kB
3.656 kB
react-combobox
Combobox (including child components)
74.636 kB
24.186 kB
react-combobox
Dropdown (including child components)
74.236 kB
24.086 kB
react-components
react-components: Accordion, Button, FluentProvider, Image, Menu, Popover
188.672 kB
52.359 kB
react-components
react-components: FluentProvider & webLightTheme
33.394 kB
11.007 kB
react-dialog
Dialog (including children components)
81.199 kB
24.196 kB
react-divider
Divider
16.459 kB
5.902 kB
react-image
Image
10.78 kB
4.264 kB
react-input
Input
23.757 kB
7.704 kB
react-label
Label
9.338 kB
3.86 kB
react-link
Link
11.784 kB
4.867 kB
react-menu
Menu (including children components)
116.572 kB
35.778 kB
react-menu
Menu (including selectable components)
119.641 kB
36.297 kB
react-overflow
hooks only
10.685 kB
4.104 kB
react-popover
Popover
102.963 kB
31.553 kB
react-portal
Portal
10.576 kB
3.875 kB
react-portal-compat
PortalCompatProvider
5.851 kB
1.964 kB
react-positioning
usePositioning
19.7 kB
7.404 kB
react-provider
FluentProvider
15.755 kB
5.883 kB
react-radio
Radio
35.56 kB
11.929 kB
react-radio
RadioGroup
14.248 kB
5.7 kB
react-select
Select
20.846 kB
7.346 kB
react-slider
Slider
31.526 kB
10.046 kB
react-spinbutton
SpinButton
44.102 kB
12.425 kB
react-spinner
Spinner
19.977 kB
6.438 kB
react-switch
Switch
32.097 kB
10.27 kB
react-text
Text - Default
11.782 kB
4.605 kB
react-text
Text - Wrappers
15.092 kB
5.044 kB
react-textarea
Textarea
25.013 kB
8.133 kB
react-theme
Single theme token import
69 B
89 B
react-theme
Teams: all themes
29.65 kB
6.444 kB
react-theme
Teams: Light theme
17.486 kB
5.057 kB
react-tooltip
Tooltip
41.502 kB
14.623 kB
react-utilities
SSRProvider
180 B
159 B
🤖 This report was generated against 070dd0a297a2c3cd9ce3b03774a61fee9da0b774

@fabricteam
Copy link
Collaborator

fabricteam commented Sep 19, 2022

Perf Analysis (@fluentui/react-northstar)

Perf tests with no regressions
Scenario Current PR Ticks Baseline Ticks Ratio
ListCommonPerf.default 532 498 1.07:1
AccordionMinimalPerf.default 123 116 1.06:1
ChatDuplicateMessagesPerf.default 235 222 1.06:1
SegmentMinimalPerf.default 310 296 1.05:1
AttachmentMinimalPerf.default 126 121 1.04:1
ButtonMinimalPerf.default 142 137 1.04:1
FlexMinimalPerf.default 259 249 1.04:1
PortalMinimalPerf.default 146 140 1.04:1
IconMinimalPerf.default 588 568 1.04:1
GridMinimalPerf.default 302 293 1.03:1
LoaderMinimalPerf.default 519 506 1.03:1
MenuButtonMinimalPerf.default 1382 1343 1.03:1
BoxMinimalPerf.default 305 300 1.02:1
ChatWithPopoverPerf.default 299 294 1.02:1
HeaderMinimalPerf.default 318 312 1.02:1
ItemLayoutMinimalPerf.default 992 969 1.02:1
PopupMinimalPerf.default 567 555 1.02:1
SkeletonMinimalPerf.default 305 300 1.02:1
TableManyItemsPerf.default 1592 1559 1.02:1
ToolbarMinimalPerf.default 811 795 1.02:1
TreeMinimalPerf.default 699 688 1.02:1
ButtonOverridesMissPerf.default 1026 1017 1.01:1
DropdownMinimalPerf.default 2179 2162 1.01:1
EmbedMinimalPerf.default 2663 2632 1.01:1
FormMinimalPerf.default 332 329 1.01:1
InputMinimalPerf.default 858 848 1.01:1
LabelMinimalPerf.default 341 336 1.01:1
ListWith60ListItems.default 517 511 1.01:1
MenuMinimalPerf.default 748 739 1.01:1
RosterPerf.default 1714 1700 1.01:1
TextMinimalPerf.default 306 304 1.01:1
CustomToolbarPrototype.default 2184 2160 1.01:1
ButtonSlotsPerf.default 434 435 1:1
CardMinimalPerf.default 469 468 1:1
ChatMinimalPerf.default 626 626 1:1
CheckboxMinimalPerf.default 1537 1535 1:1
DialogMinimalPerf.default 684 687 1:1
ListNestedPerf.default 468 467 1:1
SliderMinimalPerf.default 1244 1244 1:1
SplitButtonMinimalPerf.default 3288 3279 1:1
TableMinimalPerf.default 355 354 1:1
TextAreaMinimalPerf.default 414 413 1:1
AnimationMinimalPerf.default 470 476 0.99:1
DividerMinimalPerf.default 319 321 0.99:1
DropdownManyItemsPerf.default 542 547 0.99:1
HeaderSlotsPerf.default 673 681 0.99:1
ListMinimalPerf.default 456 461 0.99:1
ProviderMergeThemesPerf.default 988 998 0.99:1
ProviderMinimalPerf.default 314 317 0.99:1
StatusMinimalPerf.default 606 611 0.99:1
TooltipMinimalPerf.default 1856 1873 0.99:1
AttachmentSlotsPerf.default 861 878 0.98:1
CarouselMinimalPerf.default 352 359 0.98:1
LayoutMinimalPerf.default 310 316 0.98:1
RadioGroupMinimalPerf.default 384 392 0.98:1
ReactionMinimalPerf.default 326 332 0.98:1
AlertMinimalPerf.default 227 235 0.97:1
DatepickerMinimalPerf.default 4588 4712 0.97:1
ImageMinimalPerf.default 336 346 0.97:1
RefMinimalPerf.default 186 191 0.97:1
VideoMinimalPerf.default 606 655 0.93:1
AvatarMinimalPerf.default 149 165 0.9:1
TreeWith60ListItems.default 115 137 0.84:1

@fabricteam
Copy link
Collaborator

fabricteam commented Sep 19, 2022

Perf Analysis (@fluentui/react)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
BaseButton mount 1193 1212 5000
Breadcrumb mount 2776 2786 1000
Checkbox mount 2654 2596 5000
CheckboxBase mount 2380 2397 5000
ChoiceGroup mount 4202 4272 5000
ComboBox mount 1186 1192 1000
CommandBar mount 9314 9272 1000
ContextualMenu mount 10144 10155 1000
DefaultButton mount 1359 1360 5000
DetailsRow mount 3389 3364 5000
DetailsRowFast mount 3367 3361 5000
DetailsRowNoStyles mount 3250 3231 5000
Dialog mount 2960 2960 1000
DocumentCardTitle mount 592 571 1000
Dropdown mount 3197 3109 5000
FocusTrapZone mount 1959 1958 5000
FocusZone mount 1915 1897 5000
GroupedList mount 47997 53204 2
GroupedList virtual-rerender 23195 23271 2
GroupedList virtual-rerender-with-unmount 81682 81489 2
GroupedListV2 mount 546 568 2
GroupedListV2 virtual-rerender 521 514 2
GroupedListV2 virtual-rerender-with-unmount 554 554 2
IconButton mount 1808 1816 5000
Label mount 751 745 5000
Layer mount 4148 4154 5000
Link mount 849 855 5000
MenuButton mount 1626 1603 5000
MessageBar mount 2295 2348 5000
Nav mount 3021 3063 1000
OverflowSet mount 1396 1374 5000
Panel mount 2526 2511 1000
Persona mount 1269 1255 1000
Pivot mount 1519 1545 1000
PrimaryButton mount 1477 1493 5000
Rating mount 6990 6990 5000
SearchBox mount 1503 1504 5000
Shimmer mount 2958 2947 5000
Slider mount 2129 2072 5000
SpinButton mount 4374 4252 5000
Spinner mount 823 825 5000
SplitButton mount 2863 2821 5000
Stack mount 886 903 5000
StackWithIntrinsicChildren mount 2238 2239 5000
StackWithTextChildren mount 4953 4956 5000
SwatchColorPicker mount 9541 9494 5000
TagPicker mount 2340 2330 5000
TeachingBubble mount 73734 74286 5000
Text mount 825 820 5000
TextField mount 1552 1586 5000
ThemeProvider mount 1465 1452 5000
ThemeProvider virtual-rerender 1148 1153 5000
ThemeProvider virtual-rerender-with-unmount 1991 2016 5000
Toggle mount 1128 1150 5000
buttonNative mount 531 536 5000

@ling1726 ling1726 closed this Sep 19, 2022
@ling1726 ling1726 reopened this Sep 19, 2022
- uses: actions/checkout@v3
name: Checkout [master]

- name: Verify react-compoenents has changed
Copy link
Member

Choose a reason for hiding this comment

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

is it possible to force this job to run even if components haven't changed? How do I push new docs, or simply a typo fix into the website?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

There's a manual trigger option for this. You can always trigger manual deployments because of this condition: ${{ steps.verify-react-components-changed.outputs.any_changed == 'true' || github.event_name == 'workflow_dispatch' }}

@ling1726 ling1726 closed this Sep 20, 2022
@ling1726 ling1726 reopened this Sep 20, 2022
@tudorpopams tudorpopams merged commit 4307845 into microsoft:master Sep 20, 2022
marcosmoura added a commit to marcosmoura/fluentui that referenced this pull request Sep 20, 2022
* master:
  feat(cicd): update docsite publish workflow to publish to github pages (microsoft#24846)
  docs(README): add EP03 (microsoft#24854)
  applying package updates
  Set minimum width of 1% for multi stacked horizontal bar chart (microsoft#24835)
  ci: make create-milestone work by adding missing permissions (microsoft#24851)
  fix: `TableCellActions` displays correctly inside `TableHeaderCell` (microsoft#24829)
  ci(github): fix invalid json string in issues.yml (microsoft#24853)
marcosmoura added a commit to marcosmoura/fluentui that referenced this pull request Sep 20, 2022
* master:
  feat(cicd): update docsite publish workflow to publish to github pages (microsoft#24846)
  docs(README): add EP03 (microsoft#24854)
  applying package updates
  Set minimum width of 1% for multi stacked horizontal bar chart (microsoft#24835)
  ci: make create-milestone work by adding missing permissions (microsoft#24851)
  fix: `TableCellActions` displays correctly inside `TableHeaderCell` (microsoft#24829)
  ci(github): fix invalid json string in issues.yml (microsoft#24853)
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.

7 participants