-
Notifications
You must be signed in to change notification settings - Fork 221
Get-ObjectKey converts boolean values #9803
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
|
The following pipelines have been queued for testing: |
…ng still not working
|
The following pipelines have been queued for testing: |
|
The following pipelines have been queued for testing: |
JimSuplizio
left a comment
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.
I'm approving this. For everyone else's benefit, these changes were tested in an existing test PR. What was going on is that the test runs weren't getting collated correctly, for example azure-core and azure-identity have the same test matrix but because this was converting values they were being computed as separate matrices which, because they're effectively the same run, were causing the duplicate runs to get dropped.
This PR enhances the
Group-ByObjectKeyfunction to coalesce boolean-like values to their true boolean representation before getting a hashcode for them.We use this grouping function to group a list of packages by which matrix config they belong to. The issue is that due to devops shenanigans, these matrix configs are getting their booleans a bit changed. The "default" matrix that is fed into
Create-PrJobMatrixis a result of a devops json conversion of the static yaml parameter. Due to this, the booleans are getting messed up.But devops converts this to:
{ "Name": "NET_ci_test_base", "Path": "eng/pipelines/templates/stages/platform-matrix.json", "Selection": "sparse", "GenerateVMJobs": "True" }Notice that
GenerateVMJobsvalue is different and not really a boolean anymore? This was causing matrix coalesce to treat these as different matrices when they were NOT intended to be. This PR addresses this possible issue.