dotnet / dotnet/arcade

Signing functionality should handle duplicates in signing.props

Open
#5,939 7 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.