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

Break Arcade Build, Test, Validate SDK into stages #3530

Merged
merged 22 commits into from
Sep 17, 2019

Conversation

chcosta
Copy link
Member

@chcosta chcosta commented Aug 1, 2019

PR validation build - https://dev.azure.com/dnceng/public/_build/results?buildId=308614&view=results

Internal validation build - https://dev.azure.com/dnceng/internal/_build/results?buildId=308617&view=results

A couple of things to note:

  • @sunandabalu, @JohnTortugo, I changed how the post-build "dependsOn" stuff was evaluated. It appeared that the dependsOn was being passed either as a string, or with an array syntax. ie, dependsOn: build or dependsOn: [build]. The first syntax doesn't permit you to specify multiple dependent jobs / stages. The second syntax looks nice, but (in my testing) seemed to only evaluate one of the dependent jobs, not all of them. I only call this out as an awareness thing when writing yaml.

  • it appears that dependsOn is case-sensitive so I continued with the current naming pattern (pascal cased)

  • This change decreases official build time by 10+ minutes because we can run the "validate sdk" stage in parallel with the "post-build validate" stage instead of serializing the stages. I don't notice any significant impact to PR times (positive or negative) with moving artifacts between stages.

  • This change uses hosted pools for the Test stage, so we free up BYOC machines in the PR builds about 10 minutes earlier.

  • Removing "helix" telemetry, but leaving the "enableTelemetry" option because of Set the DOTNET_CLI_TELEMETRY_PROFILE environment variable #2688

  • Deprecating the "enablePublishBuildArtifacts" "enablePublishBuildAssets" parameters with an "artifacts" parameter which permits more control over what / how artifacts are published / downloaded.

  • The "artifacts" parameter is our supported way for moving artifacts between stages (for Arcade builds). It would be great if the "PackageArtifacts" stuff used the same artifacts rather than doing an additional upload - @JohnTortugo, I'll file an issue about this.

  • @alexperovich , changed _BuildConfig to Configuration in UnitTests.proj because _BuildConfig is supposed to be a yaml only concept and is intended to not interfere with any MSBuild or other build-time code.

@chcosta
Copy link
Member Author

chcosta commented Aug 7, 2019

/azp run

@azure-pipelines
Copy link

Pull request contains merge conflicts.

@chcosta chcosta changed the title Refactoring Break Arcade Build, Test, Validate SDK into stages Aug 14, 2019
@chcosta chcosta self-assigned this Aug 14, 2019
@chcosta chcosta marked this pull request as ready for review August 14, 2019 20:01
@chcosta
Copy link
Member Author

chcosta commented Aug 14, 2019

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@chcosta
Copy link
Member Author

chcosta commented Aug 14, 2019

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

eng/common-variables.yml Show resolved Hide resolved
eng/update-packagesource.ps1 Show resolved Hide resolved
eng/common/templates/post-build/post-build.yml Outdated Show resolved Hide resolved
eng/common/templates/post-build/post-build.yml Outdated Show resolved Hide resolved
@chcosta chcosta requested a review from mmitche August 15, 2019 18:35
azure-pipelines.yml Outdated Show resolved Hide resolved
Copy link
Member

@mmitche mmitche left a comment

Choose a reason for hiding this comment

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

Looks great except for a few questions/nits.

@chcosta
Copy link
Member Author

chcosta commented Aug 26, 2019

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@chcosta
Copy link
Member Author

chcosta commented Aug 26, 2019

I'll merge this in the morning just so I'm around to respond if this causes pain for anyone taking an Arcade update.

@markwilkie
Copy link
Member

Does it make sense to wait until P9 in out?

@chcosta
Copy link
Member Author

chcosta commented Aug 27, 2019

Sounds like a good plan to me. There's nothing motivating merging this sooner.

@chcosta
Copy link
Member Author

chcosta commented Sep 4, 2019

I'm going to wait to merge this until after @JohnTortugo has merged his change and he and @mmitche have clean builds.

@chcosta chcosta merged commit b764063 into dotnet:master Sep 17, 2019
riarenas added a commit to riarenas/arcade that referenced this pull request Sep 19, 2019
riarenas added a commit that referenced this pull request Sep 19, 2019
* Revert "Fix arcade-validation break, remove checkout default (#3977)"

This reverts commit a28ee51.

* Revert "Break Arcade Build, Test, Validate SDK into stages (#3530)"

This reverts commit b764063.
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