Signing functionality should handle duplicates in signing.props
- Dominant language
- C#
- Stars
- 729
- Forks
- 397
- Avg merge
- 3d 15m
- Merged PRs (30d)
- 149
Description
- [ ] This issue is blocking
- [ ] This issue is causing unreasonable pain
Since the signing functionality imports a customer created `signing.props` file into the default `sign.props` file, it should be responsible for handling duplicate values that are referenced in `signing.props`. The customer should not have to have knowledge about how `sign.props` is configured. Should something in `sign.props` change that would affect previously built `signing.props`, then customers would break.
See this PR for reasons we had to add workarounds in the resulting `signing.props` to account for collisions with data in `sign.props`: https://dev.azure.com/dnceng/internal/_git/dotnet-release/pullrequest/9678?_a=files&discussionId=46249&path=%2Fsrc%2FMicrosoft.DotNet.Release%2FMicrosoft.DotNet.Signing.Extensions%2FOperations%2FCreateSigningPropsOperation.cs
I realize that this functionality is called out in the [documentation](https://github.com/dotnet/arcade/blob/master/Documentation/CorePackages/Signing.md#4-how-to-remove-all-preconfigured-signing-information), however, my concern is that if more pre-configured values are added to sign.props, it will affect downstream usage of signing.props. And also, the documentation may not be updated to reflect the change (which doesn't absolve devs from breaking existing functionality).
Contributor guide
Research direction
Start by reading src/Microsoft.DotNet.Release/Microsoft.DotNet.Signing.Extensions/Operations/CreateSigningPropsOperation.cs from the referenced pull request, then review Documentation/CorePackages/Signing.md. Determine how imported signing.props values collide with preconfigured sign.props values; done means duplicate values are handled without customer workarounds or breaking previously built signing.props files.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100