Skip to content

Daily Test Coverage Improver - .NET 6 Runtime Required for Coverage Steps #1

@dsyme

Description

@dsyme

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.json with rollForward: "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]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions