-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Issue Description
The Daily Test Coverage Improver workflow cannot complete the coverage steps because the test project targets net6.0, which requires the .NET 6.0 runtime to execute tests.
Current Situation
- ✅ The project can be built with .NET 8 or 9 SDKs (after updating
global.jsonwithrollForward: "latestMajor") - ✅ AltCover instrumentation works correctly
- ❌ Test execution fails because the .NET 6.0 runtime is not installed in the GitHub Actions environment
Error Details
Test run for /home/runner/work/.../FSharp.Stats.Tests.dll (.NETCoreApp,Version=v6.0)
You must install or update .NET to run this application.
Framework: 'Microsoft.NETCore.App', version '6.0.0' (x64)
Solution Options
Option 1: Install .NET 6 Runtime in Workflow (Recommended for immediate fix)
Update the workflow that calls the coverage-steps action to include:
- name: Setup .NET 6
uses: actions/setup-dotnet@v4
with:
dotnet-version: '6.x'This maintains compatibility with the current project configuration.
Option 2: Update Test Project Target Framework
Update tests/FSharp.Stats.Tests/FSharp.Stats.Tests.fsproj to target net8.0 instead of net6.0:
<TargetFramework>net8.0</TargetFramework>Pros:
- No need for .NET 6 runtime installation
- Uses more current .NET version
- Simplifies CI/CD setup
Cons:
- May affect compatibility if consumers depend on .NET 6 behavior
- Requires testing to ensure no breaking changes
Option 3: Multi-target Both Versions
<TargetFrameworks>net6.0;net8.0</TargetFrameworks>This ensures compatibility with both versions but increases build time.
Impact
Currently, the Daily Test Coverage Improver workflow cannot:
- Generate coverage reports
- Analyze test coverage gaps
- Create pull requests with test improvements
Related PR
See PR #[number] for the coverage-steps action configuration that needs .NET 6 runtime.
Recommendation
For this repository: Since this is a trial/testing repository for the GitHub Actions Workflow agent, I recommend Option 1 (installing .NET 6 runtime) as the quickest fix to unblock the workflow.
For the upstream FSharp.Stats project: Consider Option 2 (updating to net8.0) if .NET 6 compatibility is no longer required, as .NET 6 reached end-of-support.
🤖 Generated with Claude Code
Co-Authored-By: Claude [email protected]