Decompiler.Tests targeted net11.0-windows only because
Microsoft.DiaSymReader.Native is Win-only and Tester.cs hardcoded ilasm.exe
/ ildasm.exe filenames. Both are narrow problems: gate the Native package
to Windows, replace the ".exe" suffix with an OS-aware helper, and drop
the -windows TFM. The Microsoft.NETCore.IL{,D}Asm metapackages' RID graph
already ships ilasm/ildasm for linux + osx via per-RID runtime sub-packages
when RuntimeIdentifier resolves dynamically, so the tool just lands in the
test output dir with the right suffix on every host.
Windows-only test fixtures (RoundtripAssembly + the RunWithTestRunner,
SignAssembly, FindMSBuild call sites) gate via Assert.Ignore +
[Platform("Win")] so they skip on non-Windows instead of failing. CA1416
joins NoWarn -- the analyzer can't see the runtime guards, and the test
inputs (Console.CapsLock, Registry access) are decompilation targets, not
infrastructure.
BuildTools/pre-commit learns to find dotnet-format on non-Windows (XDG
basedir + no .exe suffix) so the hook can run wherever the build now does.
Assisted-by: Claude:claude-opus-4-7:Claude Code
* Start work on a GH Action build for ILSpy
* Proper dotnet tool install
* Add a bit more of the tasks
* Add dotnet test and upload msix artefact
* Update upload-artifact
* Try adding VSIX
* Missing Uploads sketched
* Fix 7z
* Update upload for VSIX, NuGet and MSIX
* add ghactions-install.ps1
* Add github.workspace to make MSIX drop directory absolute path
* Fix naming of zip to keep it with AppVeyor
* Fix branch handling in ghactions-install.ps1
* Match zipping to https://github.com/icsharpcode/ILSpy/blob/master/appveyor.yml#L30
* Set ReleaseChannel for update-assemblyinfo
* channel is on matrix not env
* Skeleton for GH packages NuGet upload
* Write version number to ILSPY_VERSION file
* Try passing version as output
* Syntax for ::set-output on Windows
* Make dotnet test more readable with env vars
* ::set-output with Write-Output
* Modify version step as per https://github.com/mstum/Simplexcel/blob/master/.github/workflows/cibuild.yml
* Build all branches on push
* Collect ILSpy artifact for Debug too
* Error on no files found for upload
Co-authored-by: Siegfried Pammer <siegfriedpammer@gmail.com>