Send build failure notifications to build definition .yml file synthetic sibling CODEOWNERS owners, instead of the owners of the .yml file itself.#5194
Conversation
…tic sibling "PipelineOwner" CODEOWNERS owners, instead of the owners of the .yml file itself.
.yml file synthetic sibling CODEOWNERS owners, instead of the owners of the .yml file itself.
tools/notification-configuration/notification-creator/NotificationConfigurator.cs
Show resolved
Hide resolved
|
@weshaggard I need your input before I can proceed with this PR. Please see the description, sections "Expected behavior change" and "Additional design notes". Should I go ahead with adjusting all the language repo CODEOWNERS files to ensure this PR doesn't change any recipients of build failure notifications? If so, which approach would you prefer? I like the approach that adds the synthetic file name to CODEOWNERS just above the |
There was a problem hiding this comment.
As I mentioned in the original PR lets not go after this right now. @benbp will look into other workflows for monitoring all the yml files in the repo.
|
Closing this PR per Wes' comment above. Instead, I submitted a PR that incorporates refactorings made in this PR, and more: |
This PR implements capability as described in:
plus does a little bit of related message output changes and code refactoring.
Copy-pasting here the relevant paragraph for convenience:
Testing done
I did some manual testing with C# snippets to confirm the introduced method
GetSiblingFilePathbehaves as expected. All other changes are done via automated IDE refactorings so should be safe.Expected behavior change
Once this change goes in effect via PR similar to this one:
Azure.Sdk.Tools.NotificationConfigurationinglobals.ymlfrom20230108.1to20230119.1#5177I expect there will be some changes to whom the build failure notifications are routed.
I reviewed the CODEOWNERS files targeted by the
automation - build-failure-notification-subscriptionspipeline. Below I list the files and cases where owners who receive build failure notifications will change.Most likely we want to modify the CODEOWNERS files before applying the effects of this PR, to keep the recipients of build failure notifications unchanged. This can be achieved by adding relevant paths to the CODEOWNERS file.
E.g. a block like:
Can be replaced with:
Additional design notes
Currently I assume the proposed
PipelineOwnerSyntheticFileNameis not present in the repository nor inCODEOWNERSfile. But we might actually want to consider adding this file path toCODEOWNERSa valid approach, to fine-tune who gets the build notifications. Then the example above would become, for example:However, in such case, we would need to add special case that such file should not actually exist, in our validation spec: