CI: Windows x86 test matrix runs the tests on the x64 runtime
Author: JKamskerCreated Sep 16, 2026Updated Sep 16, 2026
Labelsbugseverity: lowpriority: P3
The Windows test and cross-process matrices in .github/workflows/_reusable-ci.yml have an arch: x86 axis, but nothing passes that value to dotnet test. The test host therefore runs on the default x64 runtime for both matrix entries, so the "x86" jobs duplicate the x64 jobs and give no 32-bit coverage.
Evidence
Adding --arch ${{ matrix.arch }} to the dotnet test invocation (tried in #2903) makes the x86 jobs fail with:
Testhost process for source(s) '...\LiteDB.Tests\bin\Release\net10.0\LiteDB.Tests.dll' exited with error: You must install or update .NET to run this application.
https://aka.ms/dotnet/app-launch-failedbecause the runner has no x86 .NET 10 runtime installed. That confirms the current jobs never used an x86 host.
Options
- Install the x86 runtime in the job (
actions/setup-dotnetdoes not do this; it needs the x86 installer script orDOTNET_ROOT_X86pointing atC:\Program Files (x86)\dotnetafter installing it) and pass--arch ${{ matrix.arch }}plus-p:AppendRuntimeIdentifierToOutputPath=falseso the build artifact paths still line up. - Drop the
x86axis and halve the Windows matrix.
Either is better than the status quo, which spends runner minutes on a duplicate x64 run labelled x86.
Split out of #2903, which now only adds the .NET Framework test job.
Source: litedb-org/LiteDB