CI: Break up Build & Test, Add Parallelization#11574
CI: Break up Build & Test, Add Parallelization#11574JasonGore merged 21 commits intomicrosoft:masterfrom JasonGore:jg/build-and-test
Conversation
…llilization pipeline using new tasks.
Component Perf AnalysisNo significant results to display. All results
|
| "start-exp": "yarn workspace @uifabric/experiments start", | ||
| "build": "lerna run build --stream -- --production --lint", | ||
| "buildci": "lerna run build --stream -- --lint", | ||
| "build": "lerna run build --stream --", |
There was a problem hiding this comment.
Is -- necessary here?
There was a problem hiding this comment.
This is in here for now because I'm not sure how else to pass the --production flag to build. It implicitly worked with buildci before because the arg comes after -- there as well.
There was a problem hiding this comment.
I've removed stray instances of trailing -- and added a few :prod convenience commands. Funny enough I found in testing that yarn build -- --production does not work, but yarn build -- -- --production DOES. I've decided to add the :prod as convenience commands, which are only slightly less awkward.
| versionSpec: '10.x' | ||
| displayName: 'Install Node.js' | ||
|
|
||
| - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@3 |
There was a problem hiding this comment.
Do we need this dependency? Can we just directly install it with a shell command instead?
There was a problem hiding this comment.
This is needed to install a newer version of yarn since this pipeline added its use. Ken advised me on this approach. I'm open to other methods, as well.
There was a problem hiding this comment.
@jdhuntington - we could install it through shell, I've not tested how fast that is. This is just what we've been using for the other tasks, seems to "install" yarn pretty quickly and made available nicely without having to worry about installing something globally on a CI box. That's the only difference to me...
kenotron
left a comment
There was a problem hiding this comment.
some minor nits - but it's pretty close!
ecraig12345
left a comment
There was a problem hiding this comment.
Nice! A few questions/comments.
…min argument. Add production commands.
|
Please ignore that draft build... this build is green! |
kenotron
left a comment
There was a problem hiding this comment.
Thanks so much for being so methodical about this change.

Pull request checklist
$ yarn changeDescription of changes
This PR builds off the work started in #11422 to speed up local and CI build times by breaking up the existing
buildtask intobuild,test,lintandbundleand then using the new tasks in parallel in a new parallelization pipeline.Command Changes
Pipeline Strategy
Based on build times and prerequisites, this is the parallelization and job strategy defined by the pipeline:
TODO (before merge):
Finalize command structure.Finish testing (command output, release pipeline.)Resolve TODOs in PR code.Communicate build command changes via email.Document command changes in wiki.Coordinate timing of merge to deal with any possible release pipeline and publishing issues.Trylerna --parallelfor all post-build jobs to increase performance.FixPerfTest(currently needsDeployas prereq which mostly negates build time savings)Renameazure-pipelines.parallel.ymlpipeline toazure-pipelines.yml.Microsoft Reviewers: Open in CodeFlow