-
Notifications
You must be signed in to change notification settings - Fork 4k
ADO changes to follow guidelines #8966
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
Conversation
…ables. Cleaned up build.proj properties. Revised net472 build and test process.
… a Configuration pipeline variable.
…making matrix entries.
…matrix names must be hard-coded.
parameters: | ||
osName: '' | ||
|
||
steps: |
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.
Looks like a number of these templates can be folded into the one yaml file to avoid some levels of complexity.
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.
Since these are reused between different jobs in different pipelines, it makes sense to have a separate template. The primary issue is that you cannot template a job matrix. Meaning, I can't make a job template where a strategy is conditionally defined.
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.
Yes that is one of the limitations of the templates. However I don't think that would be necessary if you had one matrix strategy for both and just control the framework as one of the matrix variables.
.azure-pipelines/net472.yml
Outdated
WindowsImage: VS2017-Win2016 | ||
TestFramework: net472 | ||
TestTarget: TestNet472 | ||
Configuration: Debug |
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.
If this is a configuration you want to enable at queue time then you will need to remove it from here and put it only in the build pipeline variables tab.
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.
This is not intended to be build-time variables. I use these simply as global variables to all jobs in the yaml. If there was a concept of hard-coded values (constants), I would have used them here. Also, it is convenient to have all values that may change in the future listed at the top of the file.
…work names (since frameworks would be updated over time).
Description
See the guidelines here: https://dev.azure.com/azure-sdk/internal/_wiki/wikis/internal.wiki?wikiVersion=GBwikiMaster&pagePath=%2FAzure%20DevOps%20Pipeline%20Guidance
Changes
.azure-pipelines
folder.azure-pipelines/util
install-pwsh
steps since the Windows machines now have PowerShell Core installedafter.Azure.PowerShell.sln.targets
totools
so thebuild
folder is no longer neededRepo.props
values throughout thebuild.proj
build.proj
netcoreapp21
(calledpowershell-core
) andnet472
(calledwindows-powershell
) pipeline (based on test framework and intent)TestNet472
target use theBuild
target to run properly (same asBuild
andTest
for netcoreapp21)Checklist
CONTRIBUTING.md
platyPS
module