sshnet / SSH.NET

SSH.NET is a Secure Shell (SSH) library for .NET, optimized for parallelism.
MIT License
3.87k stars 915 forks source link

Add an AOT compatibility test app #1378

Closed Rob-Hague closed 2 months ago

Rob-Hague commented 2 months ago

Following the guides at https://learn.microsoft.com/en-us/dotnet/core/deploying/trimming/prepare-libraries-for-trimming?pivots=dotnet-8-0 and https://devblogs.microsoft.com/dotnet/creating-aot-compatible-libraries/, add an application which is published for AOT in CI.

This process fully verifies all code-paths in the library and its dependencies for trimming/AOT, which the analyzers are not themselves able to do.

(As a side benefit, now we are also checking the library builds in Release)

closes #934

Rob-Hague commented 2 months ago

It correctly fails at the build (publish) step: https://ci.appveyor.com/project/drieseng/ssh-net/builds/49646532