dotnet / sign

Code Signing CLI tool supporting Authenticode, NuGet, VSIX, and ClickOnce
MIT License
447 stars 84 forks source link

Provide some default output when tool is signing #641

Open michael-hawker opened 10 months ago

michael-hawker commented 10 months ago

Is your feature request related to a problem? Please describe. It was not clear to me that the tool was working due to other issues in my CI, see background in https://github.com/dotnet-foundation/wg-maintainers/issues/90#issuecomment-1684531111. This caused me to spend a lot of time poking the sign tool than finding my ultimate problem in my build configuration.

It wasn't until I did --verbosity Debug that I saw it actively doing things, but that was hard to find out to even turn on as an option as that PR is still open #541.

Describe the solution you'd like It'd be nice at minimum for the tool to spit out something like

13 Packages Signed

to the console, or maybe even better like:

Signed CommunityToolkit.Uwp.Animations.nupkg
Signed CommunityToolkit.Uwp.Behaviors.nupkg
...
13 Packages Signed

Then maybe there should be an additional -s|--silent parameter which suppresses this default output if it's unwanted.

Describe alternatives you've considered 🤷‍♂️ don't know how else this would have gone differently since the tool doesn't give me any information outside a success code. Since it's meant to run in a CI, it's not something you generally try and test and poke locally.

It would have been nice to have more docs on the CLI parameters discoverable from the readme of the repo though, hopefully #541 on that side can be merged soon.

Additional context Version: 0.9.1-beta.23356.1 Background: https://github.com/dotnet-foundation/wg-maintainers/issues/90#issuecomment-1684531111

michael-hawker commented 10 months ago

Related to this, I actually noticed that most of the messages are coming at the Information verbosity level, many which seems like would make better Debug level messages, leave Information for starting signing, number of signed files, finished signing...

Many of the CreatePrimarySignatureAsync messages seem like a Debug level message, along with the temp files created from the other ones, anything related to those seems like Debug info... e.g.

Rebuilding container C:\Users\runneradmin\AppData\Local\Temp\rymbx5eo.si2\ejyysss0.nupkg from C:\Users\runneradmin\AppData\Local\Temp\aonx4b4a.lhu.
info: Sign.Core.INuGetSignTool[0]
      Signing C:\Users\runneradmin\AppData\Local\Temp\r1g1wxhd.2ax\wotgur5g.nupkg.
dtivel commented 7 months ago

There should be a summary at the end which displays:

On the first point, "top-level files" means input files to the tool. If those files are containers and contain other signable files, those other signable files would not be included in the summary.