Browse Source

Run the decompiler tests on Linux and macOS too

The decompiler test suite is platform-aware: on non-Windows,
Tester.SupportedOnCurrentPlatform keeps only the dotnet-hosted Roslyn
configs and [Platform("Win")] gates the fixtures that truly need
Windows (legacy csc, mcs, 32-bit, roundtrip), so running the suite on
the Linux and macOS jobs gives real coverage of the non-Windows
decompilation paths instead of leaving them untested. Both jobs now
also check out the ILSpy-tests submodule, because the TargetNet40
configs compile against its legacy reference assemblies even when the
compiled output is never executed.

Assisted-by: Claude:claude-fable-5:Claude Code
pull/3404/head
Christoph Wille 4 weeks ago
parent
commit
f4558a26c1
  1. 27
      .github/workflows/build-ilspy.yml

27
.github/workflows/build-ilspy.yml

@ -260,10 +260,13 @@ jobs: @@ -260,10 +260,13 @@ jobs:
path: ICSharpCode.ILSpyCmd\bin\Release\ilspycmd*.nupkg
if-no-files-found: error
# Linux and macOS build the desktop solution filter, run the headless UI tests on their
# own platform, and package self-contained Release bundles. Decompiler tests, NuGet
# packing, and all Windows-specific packaging stay in the Windows job above; the
# ILSpy-tests submodule only feeds the decompiler tests, so neither job checks it out.
# Linux and macOS build the desktop solution filter, run the UI and decompiler tests on
# their own platform, and package self-contained Release bundles. NuGet packing and all
# Windows-specific packaging stay in the Windows job above. The decompiler tests need the
# ILSpy-tests submodule (the TargetNet40 configs compile against its legacy reference
# assemblies even on non-Windows); configs that genuinely need Windows (legacy csc, mcs,
# 32-bit, roundtrip) self-exclude via Tester.SupportedOnCurrentPlatform and
# [Platform("Win")]. ILSpy.Tests.Windows runs only in the Windows job by design.
Linux:
runs-on: ubuntu-latest
@ -279,6 +282,7 @@ jobs: @@ -279,6 +282,7 @@ jobs:
- uses: actions/checkout@v6
with:
submodules: true
fetch-depth: 0
persist-credentials: false
@ -318,6 +322,13 @@ jobs: @@ -318,6 +322,13 @@ jobs:
--no-build --report-trx
--results-directory test-results
- name: Execute decompiler tests
run: >
dotnet test --project ICSharpCode.Decompiler.Tests/ICSharpCode.Decompiler.Tests.csproj
--configuration Release
--no-build --report-trx
--results-directory test-results
- name: Upload Test Logs
uses: actions/upload-artifact@v7
if: success() || failure()
@ -373,6 +384,7 @@ jobs: @@ -373,6 +384,7 @@ jobs:
- uses: actions/checkout@v6
with:
submodules: true
fetch-depth: 0
persist-credentials: false
@ -412,6 +424,13 @@ jobs: @@ -412,6 +424,13 @@ jobs:
--no-build --report-trx
--results-directory test-results
- name: Execute decompiler tests
run: >
dotnet test --project ICSharpCode.Decompiler.Tests/ICSharpCode.Decompiler.Tests.csproj
--configuration Release
--no-build --report-trx
--results-directory test-results
- name: Upload Test Logs
uses: actions/upload-artifact@v7
if: success() || failure()

Loading…
Cancel
Save