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 a check whether to run vr tests based on affected packages check #25676

Merged
merged 110 commits into from
Nov 16, 2022

Conversation

sunilsurana
Copy link
Member

@sunilsurana sunilsurana commented Nov 15, 2022

Current Behavior

VR tests run for every PR

New Behavior

Add a check whether to run vr tests based on affected packages check for files modified in PR

Related Issue(s)

Part of #25676

sunilsurana and others added 15 commits November 7, 2022 14:46
* stress-test: add "afterframe" dependency (microsoft#25560)

Previously stress-test used a "requestPostAnimationFrame" function that
is used to measure from just before style recalc, layout and paint are
executed to just afterward.

This change drops that function in favor of taking a dependency on
afterframe, a library that does the same thing.

* Fix: Update tabs to remain the same size between unselected and selected states (microsoft#25542)

* Add support to keep tabs from changing size when selected

* Update for naming and tests

* Rename update

* Update packages/react-components/react-tabs/src/components/TabList/TabList.types.ts

Co-authored-by: Sean Monahan <seanmonahan@microsoft.com>

Co-authored-by: Sean Monahan <seanmonahan@microsoft.com>

* chore: Add reduced-motion documentation to Spinner (microsoft#25561)

* chore: Add reduced-motion documentation to Spinner

* change file

* chore: Add documentation to Progress about reduced-motion (microsoft#25563)

* chore: Add documentation to Progress about reduced-motion

* change file

* stress-test: disable CSS transitions on injected styles (microsoft#25559)

This addresses an issue where Firefox's style recalculation measurement
becomes unstable when controls under test have CSS transitions.

Specifically, our test injects styles that update the background color
of selected controls and many Fluent controls transition the background
color for different states like "hover" and "focus".

With transitions running Firefox will sometimes include the transition
time in the style recalc measurement and sometimes not. Additionally,
Chromium browsers never include the transition time in the measurement.

Disabling transitions ensures measurement behavior is consistent in
Firefox and in alignment with the behavior of Chromium browsers.

* docs(rfcs): add triage automation rfc (microsoft#24817)

* chore: update beachball ignore list to apply to new project structure (microsoft#25531)

* bugfix(react-switch): adds line-height=0 to switch indicator slot (microsoft#25507)

* chore: add both options to useArrowNavigationGroup (microsoft#25568)

* chore: add both options to useArrowNavigationGroup

* chore: add changes

* chore: update api

* chore(vr-tests-v9): Convert Dialog and Image VR tests to CSF (microsoft#25527)

* chore: toolbar a11y improvements (microsoft#25562)

* feat: create vertical example

* chore: add navigation arrows for vertical scenario

* chore: add labels for all toolbar stories

* chore: update tooltip example

* chore: update radio example

* chore: update toolbar stories examples

* chore: add changes

* chore: use both in toolbar arrow key nav

* chore: update snapshot

* chore(react-dialog): migrate to new package structure (microsoft#25523)

Co-authored-by: Oleksandr Fediashov <alexander.mcgarret@gmail.com>

* chore(react-overflow): migrate to new package structure (microsoft#25524)

* Expand @fluentui/react root index file's export *s to uncover and fix duplicate exports. (microsoft#25545)

* expanding index.

* change.

* Replacing with inline deprecation exclusions.

* setting export * to warning.

* change.

* moving rules around.

* fix: v9 form controls with underline should have underline-specific disabled styling (microsoft#25543)

Updates disabled form styling for Input, Select, Spinbutton, Combobox, and Dropdown

* docs(public-docsite-v9): Adding a basic setup section to the SSR docs (microsoft#25564)

* applying package updates

* update regex

* updatE

* Update azure-pipelines.vrt-baseline.yml for Azure Pipelines

* Update azure-pipelines.vrt-baseline.yml for Azure Pipelines

* chore(deps): bump loader-utils from 2.0.0 to 2.0.3 (microsoft#25567)

Bumps [loader-utils](https://github.com/webpack/loader-utils) from 2.0.0 to 2.0.3.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/v2.0.3/CHANGELOG.md)
- [Commits](webpack/loader-utils@v2.0.0...v2.0.3)

---
updated-dependencies:
- dependency-name: loader-utils
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: migrate @types/node to 14 to align with our supported node version (microsoft#25510)

* chore(deps): resolve only to 1 @types/node version to mitigate global leaks and api-generation errors

* fix(bundle-size): fix type errors exposed by node 14 typings

* fix(tools): fix type errors exposed by node 14 typings

* fix(typings): fix type errors exposed by node 14 typings

* revert:  use resolution for @types/node

* chore(ts-minbar-test-react): use @types/node 14 explicitly

* generate changefiles

* chore: dedupe deps

* fix(scripts): fix type errors exposed by node 14 typings

* test: replace deprecated module.parent with require.main within isConformance

* generate changefiles

* test(react): clean up persona-coin test and use isConformant without side-effects

* fix(storybook): fix theme picker current selection (microsoft#25533)

* update

* chore(vr-tests-v9): Convert Accordion VR tests to CSF (microsoft#25525)

* fix: Update Avatar active ring color to match base color (microsoft#25497)

* RFC: Field Package Layout (microsoft#25380)

* Feature: Added large tab size to react-tabs (microsoft#25577)

* Added large tab size

* yarn change

* Update vr-tests

* Code review fix

* feat(react-infobutton): Adding size prop, HCM styles, and updating styles to match design spec (microsoft#25519)

* updating styles and adding size prop

* updating comment

* adding requested changes

* fix: Adding expanded styles for MenuButtons and making various other styling fixes for Button components (microsoft#25521)

* fix: Adding expanded styles for MenuButtons and making various other styling fixes for Button components.

* Adding change file.

* Addressing PR feedback.

Co-authored-by: KHMakoto <humberto_makoto@hotmail.com>

* chore: Clean up Field tests and story imports in preparation of moving to individual packages (microsoft#25594)

* Remove custom `isConformant` function for Field tests, and instead inline the customizations in each call to `isConformant`
* Disable the `exported-top-level` test because the components will be exported as e.g. `InputField_unstable` from the component packages.
* Change the stories to import from `@fluentui/react-components/unstable`, instead of the individual package.
* Rename the `FieldComponent` type to `FieldControl` to correspond to the `control` slot name.

* Tabs icon toggle (microsoft#25597)

* Added regular filled icon toggling

* yarn change

* chore: Refactor Field components into the base component's package (microsoft#25593)

Move Field components into their respective packages, as discussed in RFC microsoft#25380

* Update Component Implementation Epic template (microsoft#25480)

* update to use vrscreenshotdiff beta

* change lock file

* update package version

* applying package updates

* update pr pipeline to add v8

* PR to add tasks in pipeline for v9 VRT integration (microsoft#25606)

* fix: create valid export maps (microsoft#25558)

* generate changefiles

* chore(deps): bump socket.io-parser from 4.0.4 to 4.0.5 (microsoft#25604)

Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 4.0.4 to 4.0.5.
- [Release notes](https://github.com/socketio/socket.io-parser/releases)
- [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md)
- [Commits](socketio/socket.io-parser@4.0.4...4.0.5)

---
updated-dependencies:
- dependency-name: socket.io-parser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(react-dialog): removes unnecessary union case for DialogOpenChangeData (microsoft#25504)

* templatize

* update

* templatize

* updatE

* refactor(scripts): remove deprecated exec abstractions (microsoft#25569)

* fix(scripts): make eslint run again on pre-commit (microsoft#25537)

* feat(react-components): Move AvatarGroup to stable (microsoft#25005)

* update

* update version

* run partial tests

* update

* update

* update

* update

* update

* update

* updatE

* updatE

* update version

* update lock file

* update name

* update version

* add quotes

* docs: refactor Text documentation and add missing guidance for presets/alignment (microsoft#25587)

Fixes microsoft#24341
Fixes microsoft#25548

* update

* package version

* fix(react-menu): remove unwanted aria attributes on context menu (microsoft#25615)

* fix(react-menu): remove unwanted aria attributes on context menu

* chore: updates trigger selector for cypress tests

* remove unwanted param

* update

* applying package updates

* convert

* checkpoint

* add regex

* change convert script

* updates

* update sw version

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Sean Monahan <seanmonahan@microsoft.com>
Co-authored-by: Geoff Cox (Microsoft) <gcox@microsoft.com>
Co-authored-by: tomi-msft <66456876+tomi-msft@users.noreply.github.com>
Co-authored-by: Martin Hochel <martinhochel@microsoft.com>
Co-authored-by: Bernardo Sunderhus <bernardo.sunderhus@gmail.com>
Co-authored-by: chajun <86579954+chpalac@users.noreply.github.com>
Co-authored-by: Tristan Watanabe <tristan.watanabe@gmail.com>
Co-authored-by: Oleksandr Fediashov <alexander.mcgarret@gmail.com>
Co-authored-by: David Zearing <dzearing@microsoft.com>
Co-authored-by: Sarah Higley <smhigley@users.noreply.github.com>
Co-authored-by: Esteban Munoz Facusse <esteban.230@hotmail.com>
Co-authored-by: Fluent UI Build <fluentui-internal@service.microsoft.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tudor Popa <97875118+tudorpopams@users.noreply.github.com>
Co-authored-by: Ben Howell <48106640+behowell@users.noreply.github.com>
Co-authored-by: Makoto Morimoto <humbertomakotomorimoto@gmail.com>
Co-authored-by: KHMakoto <humberto_makoto@hotmail.com>
Co-authored-by: Marcos Moura <marcosvmmoura@gmail.com>
@size-auditor
Copy link

size-auditor bot commented Nov 15, 2022

Asset size changes

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

Baseline commit: 9066dc6a278db9df1fe3a277e66c94c201107d14 (build)

@fabricteam
Copy link
Collaborator

fabricteam commented Nov 15, 2022

Perf Analysis (@fluentui/react-components)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
Avatar mount 1275 1259 5000
Button mount 931 928 5000
FluentProvider mount 1481 1505 5000
FluentProviderWithTheme mount 573 574 10
FluentProviderWithTheme virtual-rerender 547 549 10
FluentProviderWithTheme virtual-rerender-with-unmount 583 583 10
MakeStyles mount 1954 1967 50000
SpinButton mount 2335 2370 5000

@codesandbox-ci
Copy link

codesandbox-ci bot commented Nov 15, 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 0e345de:

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

@fabricteam
Copy link
Collaborator

fabricteam commented Nov 15, 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
3.153 kB
1.299 kB
react-accordion
Accordion (including children components)
79.294 kB
24.443 kB
react-alert
Alert
86.996 kB
21.732 kB
react-avatar
Avatar
51.181 kB
14.31 kB
react-avatar
AvatarGroup
15.006 kB
6.009 kB
react-avatar
AvatarGroupItem
65.759 kB
18.408 kB
react-badge
Badge
22.656 kB
7.225 kB
react-badge
CounterBadge
23.546 kB
7.508 kB
react-badge
PresenceBadge
24.106 kB
7.087 kB
react-button
Button
36.86 kB
9.913 kB
react-button
CompoundButton
43.885 kB
11.131 kB
react-button
MenuButton
41.537 kB
11.187 kB
react-button
SplitButton
48.983 kB
12.588 kB
react-button
ToggleButton
52.685 kB
11.415 kB
react-card
Card - All
71.873 kB
20.936 kB
react-card
Card
67.651 kB
19.892 kB
react-card
CardFooter
8.617 kB
3.62 kB
react-card
CardHeader
9.792 kB
3.995 kB
react-card
CardPreview
8.718 kB
3.674 kB
react-combobox
Combobox (including child components)
78.086 kB
24.988 kB
react-combobox
Dropdown (including child components)
77.373 kB
24.891 kB
react-components
react-components: Button, FluentProvider & webLightTheme
62.951 kB
17.675 kB
react-components
react-components: Accordion, Button, FluentProvider, Image, Menu, Popover
190.427 kB
53.087 kB
react-components
react-components: FluentProvider & webLightTheme
33.456 kB
11.029 kB
react-dialog
Dialog (including children components)
83.036 kB
24.754 kB
react-divider
Divider
16.515 kB
5.921 kB
react-image
Image
10.836 kB
4.283 kB
react-infobutton
InfoButton
117.938 kB
35.399 kB
react-input
Input
24.122 kB
7.889 kB
react-label
Label
9.394 kB
3.88 kB
react-link
Link
11.862 kB
4.885 kB
react-menu
Menu (including children components)
117.61 kB
36.287 kB
react-menu
Menu (including selectable components)
120.679 kB
36.82 kB
react-overflow
hooks only
11.004 kB
4.188 kB
react-persona
Persona
57.236 kB
15.976 kB
react-popover
Popover
103.682 kB
31.867 kB
react-portal
Portal
10.495 kB
3.851 kB
react-portal-compat
PortalCompatProvider
5.857 kB
1.978 kB
react-positioning
usePositioning
19.826 kB
7.417 kB
react-progress
Progress
13.536 kB
5.107 kB
react-provider
FluentProvider
15.817 kB
5.905 kB
react-radio
Radio
36.446 kB
12.123 kB
react-radio
RadioGroup
14.304 kB
5.72 kB
react-select
Select
23.438 kB
8.018 kB
react-slider
Slider
32.118 kB
10.192 kB
react-spinbutton
SpinButton
44.43 kB
12.812 kB
react-spinner
Spinner
20.013 kB
6.446 kB
react-switch
Switch
33.453 kB
10.581 kB
react-text
Text - Default
11.838 kB
4.625 kB
react-text
Text - Wrappers
15.148 kB
5.06 kB
react-textarea
Textarea
25.697 kB
8.328 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
42.032 kB
14.739 kB
react-utilities
SSRProvider
180 B
159 B
🤖 This report was generated against 9066dc6a278db9df1fe3a277e66c94c201107d14

@fabricteam
Copy link
Collaborator

fabricteam commented Nov 15, 2022

Perf Analysis (@fluentui/react-northstar)

Perf tests with no regressions
Scenario Current PR Ticks Baseline Ticks Ratio
PortalMinimalPerf.default 151 141 1.07:1
AttachmentMinimalPerf.default 131 125 1.05:1
HeaderSlotsPerf.default 707 672 1.05:1
LayoutMinimalPerf.default 325 312 1.04:1
TextAreaMinimalPerf.default 418 403 1.04:1
TreeWith60ListItems.default 131 126 1.04:1
DropdownManyItemsPerf.default 544 530 1.03:1
GridMinimalPerf.default 296 286 1.03:1
LoaderMinimalPerf.default 266 258 1.03:1
ReactionMinimalPerf.default 336 326 1.03:1
TableMinimalPerf.default 366 356 1.03:1
AlertMinimalPerf.default 226 222 1.02:1
BoxMinimalPerf.default 300 294 1.02:1
DividerMinimalPerf.default 316 310 1.02:1
FormMinimalPerf.default 332 324 1.02:1
HeaderMinimalPerf.default 317 311 1.02:1
MenuMinimalPerf.default 741 729 1.02:1
MenuButtonMinimalPerf.default 1366 1335 1.02:1
PopupMinimalPerf.default 564 552 1.02:1
RefMinimalPerf.default 188 184 1.02:1
AttachmentSlotsPerf.default 873 861 1.01:1
ButtonOverridesMissPerf.default 1030 1015 1.01:1
CarouselMinimalPerf.default 358 356 1.01:1
ChatDuplicateMessagesPerf.default 217 215 1.01:1
ChatMinimalPerf.default 643 635 1.01:1
CheckboxMinimalPerf.default 1540 1529 1.01:1
DatepickerMinimalPerf.default 4778 4728 1.01:1
ListNestedPerf.default 475 469 1.01:1
RosterPerf.default 1699 1687 1.01:1
ProviderMergeThemesPerf.default 995 984 1.01:1
SegmentMinimalPerf.default 311 308 1.01:1
SliderMinimalPerf.default 1245 1227 1.01:1
TextMinimalPerf.default 299 296 1.01:1
CustomToolbarPrototype.default 2193 2175 1.01:1
ToolbarMinimalPerf.default 794 788 1.01:1
ButtonMinimalPerf.default 138 138 1:1
ButtonSlotsPerf.default 431 429 1:1
ChatWithPopoverPerf.default 291 292 1:1
DialogMinimalPerf.default 686 685 1:1
EmbedMinimalPerf.default 2635 2622 1:1
InputMinimalPerf.default 854 857 1:1
ItemLayoutMinimalPerf.default 974 972 1:1
LabelMinimalPerf.default 336 337 1:1
RadioGroupMinimalPerf.default 379 379 1:1
SplitButtonMinimalPerf.default 3281 3280 1:1
StatusMinimalPerf.default 612 610 1:1
TableManyItemsPerf.default 1578 1574 1:1
TooltipMinimalPerf.default 1929 1932 1:1
TreeMinimalPerf.default 696 694 1:1
VideoMinimalPerf.default 621 623 1:1
AnimationMinimalPerf.default 466 469 0.99:1
AvatarMinimalPerf.default 163 165 0.99:1
CardMinimalPerf.default 455 461 0.99:1
DropdownMinimalPerf.default 2167 2179 0.99:1
ImageMinimalPerf.default 334 339 0.99:1
ListCommonPerf.default 511 517 0.99:1
SkeletonMinimalPerf.default 300 302 0.99:1
IconMinimalPerf.default 571 579 0.99:1
FlexMinimalPerf.default 247 254 0.97:1
ProviderMinimalPerf.default 313 322 0.97:1
ListWith60ListItems.default 478 504 0.95:1
ListMinimalPerf.default 460 489 0.94:1
AccordionMinimalPerf.default 119 128 0.93:1

@fabricteam
Copy link
Collaborator

fabricteam commented Nov 15, 2022

Perf Analysis (@fluentui/react)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
BaseButton mount 1171 1176 5000
Breadcrumb mount 2748 2791 1000
Checkbox mount 2608 2629 5000
CheckboxBase mount 2374 2368 5000
ChoiceGroup mount 4270 4284 5000
ComboBox mount 1167 1177 1000
CommandBar mount 9302 9230 1000
ContextualMenu mount 10044 10037 1000
DefaultButton mount 1340 1355 5000
DetailsRow mount 3391 3352 5000
DetailsRowFast mount 3364 3369 5000
DetailsRowNoStyles mount 3235 3242 5000
Dialog mount 2978 2943 1000
DocumentCardTitle mount 572 586 1000
Dropdown mount 3138 3143 5000
FocusTrapZone mount 1944 2000 5000
FocusZone mount 1902 1869 5000
GroupedList mount 1811 2051 2
GroupedList virtual-rerender 1086 1106 2
GroupedList virtual-rerender-with-unmount 1576 1600 2
GroupedListV2 mount 568 566 2
GroupedListV2 virtual-rerender 541 536 2
GroupedListV2 virtual-rerender-with-unmount 548 574 2
IconButton mount 1786 1781 5000
Label mount 747 747 5000
Layer mount 4135 4233 5000
Link mount 839 852 5000
MenuButton mount 1599 1602 5000
MessageBar mount 2361 2330 5000
Nav mount 3047 3014 1000
OverflowSet mount 1413 1417 5000
Panel mount 2486 2498 1000
Persona mount 1244 1246 1000
Pivot mount 1515 1485 1000
PrimaryButton mount 1497 1490 5000
Rating mount 6964 6957 5000
SearchBox mount 1481 1510 5000
Shimmer mount 2901 2915 5000
Slider mount 2107 2088 5000
SpinButton mount 4251 4264 5000
Spinner mount 823 828 5000
SplitButton mount 2840 2813 5000
Stack mount 854 859 5000
StackWithIntrinsicChildren mount 2308 2325 5000
StackWithTextChildren mount 5015 5003 5000
SwatchColorPicker mount 9503 9460 5000
TagPicker mount 2305 2331 5000
TeachingBubble mount 74798 75608 5000
Text mount 822 822 5000
TextField mount 1546 1526 5000
ThemeProvider mount 1447 1450 5000
ThemeProvider virtual-rerender 1135 1140 5000
ThemeProvider virtual-rerender-with-unmount 1994 1991 5000
Toggle mount 1135 1128 5000
buttonNative mount 530 532 5000

@sunilsurana sunilsurana merged commit 64090fd into microsoft:master Nov 16, 2022
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.

5 participants