Skip to content

chore: replace lage with nx for task(targets) orchestration#31949

Merged
Hotell merged 21 commits intomicrosoft:masterfrom
Hotell:nx/migrate-to-orchestrator
Jul 31, 2024
Merged

chore: replace lage with nx for task(targets) orchestration#31949
Hotell merged 21 commits intomicrosoft:masterfrom
Hotell:nx/migrate-to-orchestrator

Conversation

@Hotell
Copy link
Collaborator

@Hotell Hotell commented Jul 9, 2024

Previous Behavior

  • lage is used for task orchestration
  • custom runPublished script is used to run targets within release pipelines

New Behavior

  • nx is used for any kind of task orchestration including releases
  • runPublished has been removed
  • lage package has been removed from dependencies and any related logic has been refactored to use nx under the hood
  • added missing tags to project.json in order to be able to filter projects when running releases

DX changes

yarn buildto

-yarn lage <target> --to <project-name>
+yarn nx run <project-name>:<target>

running task on affected projects by your changes

-yarn lage <target> --since=master
+yarn nx affected -t <target> --base=master

running tasks on whole repo

-yarn lage <target>
+yarn nx run-many -t <target>

💡 Note: run-many provides powerful filtering capabilities https://nx.dev/nx-api/nx/documents/run-many#examples

CI logs

Before:

  • mismatch of task execution

image

  • hard to troubleshoot failures
image

After:

  • task execution output is aggregated per task ( while behind the scenes things run in parallel )
image
  • easy to troubleshoot

image

Pipeline perf

build-test-lint

Before After
46m 20s 46m 7s / 𝚫 0.5% FASTER

e2e-deploy

Before After
32m 31s 26m 50s / 𝚫 17% FASTER

Related Issue(s)

NX issues

@github-actions github-actions bot added this to the July Project Cycle Q3 2024 milestone Jul 9, 2024
@Hotell Hotell changed the title Nx/migrate to orchestrator chore: replace lage with nx for task(targets) orchestration Jul 9, 2024
@fabricteam
Copy link
Collaborator

fabricteam commented Jul 9, 2024

📊 Bundle size report

✅ No changes found

@fabricteam
Copy link
Collaborator

fabricteam commented Jul 9, 2024

🕵 FluentUIV0 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

fabricteam commented Jul 10, 2024

Perf Analysis (@fluentui/react-components)

Scenario Render type Master Ticks PR Ticks Iterations Status
FluentProviderWithTheme virtual-rerender 38 31 10 Possible regression
All results

Scenario Render type Master Ticks PR Ticks Iterations Status
Avatar mount 629 626 5000
Button mount 329 314 5000
Field mount 1130 1128 5000
FluentProvider mount 715 710 5000
FluentProviderWithTheme mount 86 86 10
FluentProviderWithTheme virtual-rerender 38 31 10 Possible regression
FluentProviderWithTheme virtual-rerender-with-unmount 78 73 10
MakeStyles mount 870 861 50000
Persona mount 1758 1717 5000
SpinButton mount 1405 1426 5000
SwatchPicker mount 1639 1648 5000

@fabricteam
Copy link
Collaborator

fabricteam commented Jul 10, 2024

Perf Analysis (@fluentui/react-northstar)

⚠️ 1 potential perf regressions detected

Potential regressions comparing to master

Scenario Current PR Ticks Baseline Ticks Ratio Regression Analysis
AccordionMinimalPerf.default 89 92 0.97:1 analysis
Perf tests with no regressions
Scenario Current PR Ticks Baseline Ticks Ratio
PortalMinimalPerf.default 102 85 1.2:1
ButtonMinimalPerf.default 102 89 1.15:1
AttachmentMinimalPerf.default 96 87 1.1:1
ProviderMinimalPerf.default 227 208 1.09:1
ListCommonPerf.default 405 376 1.08:1
SkeletonMinimalPerf.default 208 193 1.08:1
InputMinimalPerf.default 569 534 1.07:1
IconMinimalPerf.default 414 391 1.06:1
TreeWith60ListItems.default 93 88 1.06:1
ChatMinimalPerf.default 455 432 1.05:1
EmbedMinimalPerf.default 1966 1873 1.05:1
FormMinimalPerf.default 227 216 1.05:1
ItemLayoutMinimalPerf.default 732 700 1.05:1
AnimationMinimalPerf.default 307 294 1.04:1
DropdownManyItemsPerf.default 419 404 1.04:1
LabelMinimalPerf.default 228 219 1.04:1
ListMinimalPerf.default 314 303 1.04:1
ListWith60ListItems.default 379 363 1.04:1
ToolbarMinimalPerf.default 555 533 1.04:1
CarouselMinimalPerf.default 271 263 1.03:1
ChatDuplicateMessagesPerf.default 160 155 1.03:1
DatepickerMinimalPerf.default 4022 3923 1.03:1
HeaderSlotsPerf.default 480 466 1.03:1
PopupMinimalPerf.default 356 346 1.03:1
ProviderMergeThemesPerf.default 655 639 1.03:1
RadioGroupMinimalPerf.default 268 259 1.03:1
TextAreaMinimalPerf.default 294 285 1.03:1
TooltipMinimalPerf.default 1304 1267 1.03:1
VideoMinimalPerf.default 444 430 1.03:1
AttachmentSlotsPerf.default 676 660 1.02:1
AvatarMinimalPerf.default 109 107 1.02:1
ButtonOverridesMissPerf.default 670 656 1.02:1
CardMinimalPerf.default 325 319 1.02:1
MenuMinimalPerf.default 522 512 1.02:1
ReactionMinimalPerf.default 216 211 1.02:1
SliderMinimalPerf.default 759 744 1.02:1
BoxMinimalPerf.default 195 193 1.01:1
ButtonSlotsPerf.default 320 318 1.01:1
ChatWithPopoverPerf.default 202 200 1.01:1
RefMinimalPerf.default 112 111 1.01:1
TableMinimalPerf.default 236 234 1.01:1
DividerMinimalPerf.default 207 208 1:1
FlexMinimalPerf.default 157 157 1:1
HeaderMinimalPerf.default 211 211 1:1
MenuButtonMinimalPerf.default 961 963 1:1
CheckboxMinimalPerf.default 1154 1162 0.99:1
DialogMinimalPerf.default 449 454 0.99:1
SplitButtonMinimalPerf.default 2273 2288 0.99:1
StatusMinimalPerf.default 400 404 0.99:1
TextMinimalPerf.default 199 201 0.99:1
CustomToolbarPrototype.default 1477 1496 0.99:1
TreeMinimalPerf.default 489 496 0.99:1
GridMinimalPerf.default 194 197 0.98:1
LoaderMinimalPerf.default 186 190 0.98:1
SegmentMinimalPerf.default 190 193 0.98:1
TableManyItemsPerf.default 1096 1114 0.98:1
DropdownMinimalPerf.default 1403 1439 0.97:1
LayoutMinimalPerf.default 196 203 0.97:1
ListNestedPerf.default 319 328 0.97:1
RosterPerf.default 1569 1619 0.97:1
ImageMinimalPerf.default 224 235 0.95:1
AlertMinimalPerf.default 151 168 0.9:1

@fabricteam
Copy link
Collaborator

fabricteam commented Jul 10, 2024

Perf Analysis (@fluentui/react)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
BaseButton mount 634 608 5000
Breadcrumb mount 1672 1692 1000
Checkbox mount 1699 1681 5000
CheckboxBase mount 1472 1467 5000
ChoiceGroup mount 2953 2957 5000
ComboBox mount 685 678 1000
CommandBar mount 6593 6532 1000
ContextualMenu mount 11977 12289 1000
DefaultButton mount 792 781 5000
DetailsRow mount 2279 2206 5000
DetailsRowFast mount 2202 2256 5000
DetailsRowNoStyles mount 2058 2033 5000
Dialog mount 2872 2846 1000
DocumentCardTitle mount 222 226 1000
Dropdown mount 2001 2018 5000
FocusTrapZone mount 1164 1142 5000
FocusZone mount 1100 1084 5000
GroupedList mount 41978 42411 2
GroupedList virtual-rerender 18215 20395 2
GroupedList virtual-rerender-with-unmount 51716 51576 2
GroupedListV2 mount 224 244 2
GroupedListV2 virtual-rerender 220 201 2
GroupedListV2 virtual-rerender-with-unmount 227 233 2
IconButton mount 1121 1139 5000
Label mount 345 344 5000
Layer mount 2822 2793 5000
Link mount 394 402 5000
MenuButton mount 987 994 5000
MessageBar mount 21426 21347 5000
Nav mount 1987 2023 1000
OverflowSet mount 791 801 5000
Panel mount 1835 1817 1000
Persona mount 751 752 1000
Pivot mount 927 899 1000
PrimaryButton mount 939 930 5000
Rating mount 4667 4750 5000
SearchBox mount 935 955 5000
Shimmer mount 1907 1876 5000
Slider mount 1328 1364 5000
SpinButton mount 3033 2983 5000
Spinner mount 380 400 5000
SplitButton mount 1850 1845 5000
Stack mount 420 427 5000
StackWithIntrinsicChildren mount 866 878 5000
StackWithTextChildren mount 2755 2772 5000
SwatchColorPicker mount 6360 6432 5000
TagPicker mount 1464 1491 5000
Text mount 390 397 5000
TextField mount 947 945 5000
ThemeProvider mount 868 866 5000
ThemeProvider virtual-rerender 573 588 5000
ThemeProvider virtual-rerender-with-unmount 1324 1294 5000
Toggle mount 602 625 5000
buttonNative mount 186 194 5000

@Hotell Hotell force-pushed the nx/migrate-to-orchestrator branch from 3524ddd to 0e8972e Compare July 17, 2024 08:08
@fabricteam
Copy link
Collaborator

fabricteam commented Jul 17, 2024

🕵 fluentui-web-components-v3 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

fabricteam commented Jul 17, 2024

🕵 fluentuiv8 No visual regressions between this PR and main

@Hotell Hotell force-pushed the nx/migrate-to-orchestrator branch 3 times, most recently from 4b11509 to d53176a Compare July 22, 2024 13:21
@Hotell Hotell force-pushed the nx/migrate-to-orchestrator branch from aee74a4 to f0aeb77 Compare July 24, 2024 15:12
@Hotell Hotell force-pushed the nx/migrate-to-orchestrator branch from f0aeb77 to 1eb21ee Compare July 24, 2024 19:08
@Hotell Hotell marked this pull request as ready for review July 25, 2024 12:40
@Hotell Hotell requested review from a team as code owners July 25, 2024 12:40
Copy link
Member

@TristanWatanabe TristanWatanabe left a comment

Choose a reason for hiding this comment

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

It's finally here! 🥳

Hotell added 21 commits July 31, 2024 12:14
…make lint work and be aligned with current state of repo setup
@Hotell Hotell force-pushed the nx/migrate-to-orchestrator branch from 82c4e21 to c92b457 Compare July 31, 2024 10:22
@Hotell
Copy link
Collaborator Author

Hotell commented Jul 31, 2024

got approval from majority of v-build team -> pipeline is green -> admin merging

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

5 participants