-
Notifications
You must be signed in to change notification settings - Fork 166
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
build(publish): parallel code gen on azure-sdk-for-net #3153
Conversation
- split the script of update `azure-sdk-for-net` into 2 scripts which update codes and samples respectively - change pipeline to split the job of generating all SDKs into 2 jobs which generate codes and samples respectively resolve #3067
- expand the steps of generating codes and samples, move PR creation into a separate job which is executed only after success codes/sample generation - remove `-f` for git push - change push branch to have version as name suffix to avoid potential conflict
do not generate sdk when updating versions fix wrong script name tune update codes task division fix shallow update fix pull request not created also optimize checkout perf fix repo name and add code gen retry
Other benefits:
|
- remove unnecessary argument `Branch` - update `UpdateAzureSdkForNet.ps1` to invoke `UpdateAzureSdkCodes.ps1` - improve parameter validation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mikeharder can you please take a look as well since you are helping in the same area. This gets us from 3+ hours to roughly 35 minutes on the regen portion of the publish pipeline.
If you have even more improvements lets open those as trackers so we can make incremental progress but if you see any major issues with this let us know.
@m-nash, @archerzz: Are there example builds before and after this change I can look at? I see an example build at the top of this PR: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=2201624&view=results. I assume I should just compare this to a similar build from another PR? |
@mikeharder Recently we don't change the pipeline except this PR. So any build on |
8ee5e81
to
07bad97
Compare
Here is the comparison of existing pipeline and new pipeline. Existing Pipeline
New Pipeline
The changes in two PR are actually identical. |
Update_azure_sdk_for_net
into 3 stages:Update_Generator_Versions
: change the generator versions only, create the first commit to new branchauto-update-autorest-${Version}
Update_Codes_X_Y
andUpdate_Samples_X_Y
: update SDK codes or sample codes from service of which name starts withX
toY
.Create_PR
: create PR from branchauto-update-autorest-${Version}
tomain
Update_Codes_X_Y
andUpdate_Samples_X_Y
resolve #3067 #3068
Checklist
To ensure a quick review and merge, please ensure:
Ready to Land?