githubnext / githubnext/gh-aw-trial-FSarpStats-claude

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

Open
#1 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
F#
Stars
0
Forks
1
PR merge metrics
No merged PRs in 30d

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.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:

```yaml
- 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`:

```xml
net8.0
```

**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

```xml
net6.0;net8.0
```

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](https://claude.com/claude-code)

Co-Authored-By: Claude

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.