Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Could not write lines to file CoverletSourceRootsMapping - in use by another process #1155

Closed
ta264 opened this issue Apr 27, 2021 · 33 comments · Fixed by #1456
Closed

Could not write lines to file CoverletSourceRootsMapping - in use by another process #1155

ta264 opened this issue Apr 27, 2021 · 33 comments · Fixed by #1456
Assignees
Labels
as-designed Expected behaviour needs repro Needs repro to be investigated, cannot repro in local Priority:1 Very important to release, not a ship blocker

Comments

@ta264
Copy link

ta264 commented Apr 27, 2021

Our build process with coverlet > 3.0 tends to fail with an error like this:

C:\Users\VssAdministrator\.nuget\packages\coverlet.collector\3.0.4-preview.25\build\netstandard1.0\coverlet.collector.targets(48,5): error MSB3491: Could not write lines to file "..\..\_tests\net5.0\linux-musl-arm64\CoverletSourceRootsMapping". The process cannot access the file 'D:\a\1\s\_tests\net5.0\linux-musl-arm64\CoverletSourceRootsMapping' because it is being used by another process. [D:\a\1\s\src\NzbDrone.Host.Test\Radarr.Host.Test.csproj]
  Radarr.Windows.Test -> D:\a\1\s\_tests\net5.0\linux-musl-x64\publish\

I suspect this is because we have a centralized output directory (not one per project).

  <PropertyGroup>
    <!-- Output to _output and _tests respectively -->
    <OutputPath Condition="'$(RadarrProject)'=='true'">$(RadarrRootDir)_output\</OutputPath>
    <OutputPath Condition="'$(RadarrOutputType)'=='Test'">$(RadarrRootDir)_tests\</OutputPath>
  </PropertyGroup>

Can this be worked around at all?

@MarcoRossignoli
Copy link
Collaborator

MarcoRossignoli commented May 4, 2021

Unfortunately at the moment CoverletSourceRootsMapping uses $OutputPath https://github.com/coverlet-coverage/coverlet/blob/master/src/coverlet.collector/build/netstandard1.0/coverlet.collector.targets#L46

@MarcoRossignoli MarcoRossignoli added the as-designed Expected behaviour label May 4, 2021
@LevYas
Copy link

LevYas commented May 7, 2021

I have the same issue. Looks like as a workaround we can build tests into a subdirectory of that centralized directory.

@MrOwen
Copy link

MrOwen commented May 13, 2021

@LevYas can you expand on your workaround? I'm using --output flag with the dotnet cli so I don't specify the output at the project level but the solution I'm building contains multiple projects. Does that mean a different build output needs to be specified in each project file in the solution and I can't use the cli --output flag? Seems like an arduous workaround that's error prone if you expect to put this all into an automated build.

If this is a race condition (I expect it is as I run into about 75% of the time), can it be solved with some retry logic? I grabbed the following from the same dotnet publish step and there is some retry logic going on so I'm wondering if the same can be done for the CoverletSourceRootsMapping file:

Copying file from "C:\Users\ContainerAdministrator\.nuget\packages\coverlet.collector\3.0.3\build\netstandard1.0\System.Linq.Expressions.dll" to "C:\__w\165\b\SampleAPI\System.Linq.Expressions.dll".
9:6>C:\Users\ContainerAdministrator\.nuget\packages\coverlet.collector\3.0.3\build\netstandard1.0\coverlet.collector.targets(16,5): warning MSB3026: Could not copy "C:\Users\ContainerAdministrator\.nuget\packages\coverlet.collector\3.0.3\build\netstandard1.0\System.Linq.Expressions.dll" to "C:\__w\165\b\SampleAPI\System.Linq.Expressions.dll". Beginning retry 1 in 1000ms. The process cannot access the file 'C:\__w\165\b\SampleAPI\System.Linq.Expressions.dll' because it is being used by another process.  [C:\__w\165\s\project\API\Sample.Tests\Sample.Tests.csproj]

@LevYas
Copy link

LevYas commented May 13, 2021

@MrOwen Sure. I have output setup per project for all my projects, and I use CI/CD. Here's how it looks like for test project:

<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath
<OutputPath>..\..\..\Bin\$(Configuration)\Tests\Unit</OutputPath>

@MrOwen
Copy link

MrOwen commented May 13, 2021

Ah, that's what I was afraid of. I'm working on a project with 60 test projects... I actually ended up upgrading Microsoft.NET.Test.Sdk, MSTest.TestAdapter, and MSTest.TestFramework to their latest versions since we were way behind and all issues seem to have gone away. Tried looking in the changelogs for each of these to see if some sort of race-condition was fixed but didn't spot any specifically. Either way, for future peeps stumbling on this problem, there's a few fixes in this thread now. Thanks again @LevYas!

@echalone
Copy link

We had the same problem now. Our "workaround" for now was to only build with a single process instead of multiple. Not ideal though as the build will take longer once the solution grows.

@zplan
Copy link

zplan commented Nov 12, 2021

Same problem here.
Build with single process with a solution >50 projects is not an option.

@MarcoRossignoli MarcoRossignoli added the Priority:1 Very important to release, not a ship blocker label Nov 12, 2021
@MarcoRossignoli MarcoRossignoli pinned this issue Nov 12, 2021
@MarcoRossignoli
Copy link
Collaborator

MarcoRossignoli commented Nov 12, 2021

For now a possible solutions could be update coverlet to write the mapping in a folder like $(OutputPath)\CoverletSourceMappings\CoverletSourceRootsMapping_{Guid}` and merge/use when needed.

@cboulva99
Copy link

Hello!

Any development on this subject? It seems since we migrated to .net6, the bug occurs almost always. We did not have the problem before that.

@maxpavlov
Copy link

Hello!

Any development on this subject? It seems since we migrated to .net6, the bug occurs almost always. We did not have the problem before that.

Yes, we observe the same - 85% chance of error, prior to net6 we haven't seen this error.

@DamianSuess
Copy link

Any word on the progress, or if the community should aim to assist on this fix?
For efficiency purposes, we keep our tests in an Output\Tests\ folder in our projects for accessibility, reduction of multiple DLLs, and easy-to-clean purposes.

However, we continuously get the error, "The process cannot access the file '...\CoverletSourceRootsMapping' because it is being used by another process. This is problematic for our build machines.

Thank you.

@MarcoRossignoli
Copy link
Collaborator

MarcoRossignoli commented Feb 1, 2022

It's on high priority, but didn't have time to work on it yet, bit busy times.

Can someone provide a repro to speedups a bit the analysis?

Coverlet is open source if someone wants to take this one I'm glad to review and help.
In case let me know that I'll assign the issue to avoid to accidentally waste time.

@japj
Copy link

japj commented Feb 23, 2022

We have the same issue, basically the scenario is:

  • a solution with multiple test projects
  • output to the same folder
  • build the solution (with msbuild /m to enable msbuild concurrency)

Since this is a "build timing" bug related to writing to the same file, it is not 100% reproducable.

However, I think a good fix would probably be to append or prefix the MSBuildProjectName to the CoverletSourceRootsMapping file, e.g.

_sourceRootMappingFilePath: "$([MSBuild]::EnsureTrailingSlash('$(OutputPath)'))CoverletSourceRootsMapping -$(MSBuildProjectName)"

This will ensure that the CoverletSourceRootsMapping file is unique per MSBuildProject (i.e. per Assembly)

@MarcoRossignoli MarcoRossignoli added the needs repro Needs repro to be investigated, cannot repro in local label Feb 23, 2022
@DamianSuess
Copy link

I'm all for @japj's suggestion, it's cleaner than a GUID suffix. If we created a branch for this, are there sufficient existing unit tests against this to support such a change?

@MarcoRossignoli
Copy link
Collaborator

MarcoRossignoli commented Feb 23, 2022

@DamianSuess
Copy link

Thank you, Marco, for providing your insight & experience to help keep this moving 👍

@MarcoRossignoli MarcoRossignoli self-assigned this Mar 19, 2022
@MarcoRossignoli
Copy link
Collaborator

MarcoRossignoli commented Mar 19, 2022

I've started to work on this one the idea is to create the file mapping using some sort of hash for the "current" test container to avoid collision in case of solutions with more containers in the same output folder.
Something like
image
Let's see it it can work...there're some place to change:

  • targets msbuild/collectors
  • SourceRootTranslator
  • Tests

cc: @daveMueller

@MarcoRossignoli
Copy link
Collaborator

Hi all,

I've published a test package here https://f.feedz.io/marcorossignoli/coverletunofficial/nuget/index.json the versions are

coverlet.collector 3.1.3-preview.7.gb1603b798b
coverlet.msbuild 3.1.3-preview.7.gb1603b798b

I need help, can someone give it a try and let me know if it's working?

@bretthysuik
Copy link

@MarcoRossignoli: I can confirm that coverlet.collector 3.1.3-preview.7.gb1603b798b fixed the problem on my end.

@MarcoRossignoli
Copy link
Collaborator

thanks @bretthysuik can you confirm that in you output folder you see a list of CoverletSourceRootsMapping_dlltestname?

Can someone else give a try to coverlet.msbuild 3.1.3-preview.7.gb1603b798b?

@bretthysuik
Copy link

Yes, a CoverletSourceRootsMapping_dlltestname.Tests file was created for every test project in the solution.

@walljumper
Copy link

Works for me as well.

@MarcoRossignoli
Copy link
Collaborator

MarcoRossignoli commented Mar 28, 2022

Can someone cover the coverlet.msbuild use case pls?

@bretthysuik
Copy link

Can someone cover the coverlet.msbuild use case pls?

coverlet.msbuild 3.1.3-preview.7.gb1603b798b looks to be working as well. A coverage.json file is created for each test project in the solution, and no errors occurred related to CoverletSourceRootsMapping.

@MarcoRossignoli
Copy link
Collaborator

Thanks for the testing.

@LucidoKeith
Copy link

Is there a target release date for the 3.1.3 version?

@MarcoRossignoli
Copy link
Collaborator

Not yet, I'm having issue with this fix in CI...I need to investigate a bit more.

@C302
Copy link

C302 commented Aug 2, 2022

Any update on the official 3.1.3 version?

@MarcoRossignoli
Copy link
Collaborator

This fix is not yet merged...I'm having some hassle on tests and I'm a bit busy, I'll try to work on it asap.

@ravi-chandra-gl
Copy link

Any update on the 3.1.3 version?

@Kizuto3
Copy link

Kizuto3 commented Jan 17, 2023

Any updates on the issue?

@MarcoRossignoli
Copy link
Collaborator

MarcoRossignoli commented Jan 19, 2023

unfortunately not at the moment I didn't have much time to work on it in last months the PR started here #1320 but there're some issue with testing in CI that doesn't repro on my local so more investigation is needed, if someone wants to take over it could be a huge help cc: @daveMueller

@MarcoRossignoli
Copy link
Collaborator

@daveMueller did the fix..pls someone tomorrow can try the dogfood? https://github.com/coverlet-coverage/coverlet/blob/master/Documentation/ConsumeNightlyBuild.md

renovate bot added a commit to cythral/brighid-commands that referenced this issue May 21, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [coverlet.collector](https://togithub.com/coverlet-coverage/coverlet)
| nuget | major | `3.2.0` -> `6.0.0` |

---

### Release Notes

<details>
<summary>coverlet-coverage/coverlet</summary>

###
[`v6.0.0`](https://togithub.com/coverlet-coverage/coverlet/releases/tag/v6.0.0)

Fixed
\-Could not write lines to file CoverletSourceRootsMapping - in use by
another
process[coverlet-coverage/coverlet#1155
-Incorrect coverage for methods returning IAsyncEnumerable in generic
classes[coverlet-coverage/coverlet#1383
-Wrong branch coverage for async methods .NET Standard
1.x[coverlet-coverage/coverlet#1376
-Empty path exception in visual basic
projects[coverlet-coverage/coverlet#775
-Allign published nuget package version to github release
version[coverlet-coverage/coverlet#1413
\-Sync nuget and github release
version[coverlet-coverage/coverlet#1122

Improvements
\-Migration of the project to .NET
6.0[coverlet-coverage/coverlet#1473

Breaking changes
New parameter ExcludeAssembliesWithoutSources to control automatic
assembly exclusion
[coverlet-coverage/coverlet#1164.
The parameter InstrumentModulesWithoutLocalSources has been removed.
since it can be handled by setting ExcludeAssembliesWithoutSources to
None.
The default heuristics for determining whether to instrument an assembly
has been changed. In previous versions any missing source file was taken
as a signal that it was a third-party project that shouldn't be
instrumented, with exceptions for some common file name patterns for
source generators. Now only assemblies where no source files at all can
be found are excluded from instrumentation, and the code for detecting
source generator files have been removed. To get back to the behaviour
that at least one missing file is sufficient to exclude an assembly, set
ExcludeAssembliesWithoutSources to MissingAny, or use assembly exclusion
filters for more fine-grained control.

[Diff between 3.2.0 and
6.0.0](https://togithub.com/coverlet-coverage/coverlet/compare/v5.7.2...v6.0.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/cythral/brighid-commands).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS45Ny4wIiwidXBkYXRlZEluVmVyIjoiMzUuOTcuMCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
vbreuss pushed a commit to Testably/Testably.Abstractions that referenced this issue May 21, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [coverlet.collector](https://togithub.com/coverlet-coverage/coverlet)
| nuget | major | `3.2.0` -> `6.0.0` |

---

### Release Notes

<details>
<summary>coverlet-coverage/coverlet</summary>

###
[`v6.0.0`](https://togithub.com/coverlet-coverage/coverlet/releases/tag/v6.0.0)

Fixed
\-Could not write lines to file CoverletSourceRootsMapping - in use by
another
process[coverlet-coverage/coverlet#1155
\-Incorrect coverage for methods returning IAsyncEnumerable in generic
classes[coverlet-coverage/coverlet#1383
\-Wrong branch coverage for async methods .NET Standard
1.x[coverlet-coverage/coverlet#1376
\-Empty path exception in visual basic
projects[coverlet-coverage/coverlet#775
\-Align published nuget package version to github release
version[coverlet-coverage/coverlet#1413
\-Sync nuget and github release
versions[coverlet-coverage/coverlet#1122

Improvements
\-Migration of the project to .NET
6.0[coverlet-coverage/coverlet#1473

Breaking changes
New parameter ExcludeAssembliesWithoutSources to control automatic
assembly exclusion
[coverlet-coverage/coverlet#1164.
The parameter InstrumentModulesWithoutLocalSources has been removed.
since it can be handled by setting ExcludeAssembliesWithoutSources to
None.
The default heuristics for determining whether to instrument an assembly
has been changed. In previous versions any missing source file was taken
as a signal that it was a third-party project that shouldn't be
instrumented, with exceptions for some common file name patterns for
source generators. Now only assemblies where no source files at all can
be found are excluded from instrumentation, and the code for detecting
source generator files have been removed. To get back to the behaviour
that at least one missing file is sufficient to exclude an assembly, set
ExcludeAssembliesWithoutSources to MissingAny, or use assembly exclusion
filters for more fine-grained control.

[Diff between 3.2.0 and
6.0.0](https://togithub.com/coverlet-coverage/coverlet/compare/v5.7.2...v6.0.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/Testably/Testably.Abstractions).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS45Ny4wIiwidXBkYXRlZEluVmVyIjoiMzUuOTcuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
ThorstenSauter pushed a commit to ThorstenSauter/NoPlan that referenced this issue May 22, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [coverlet.collector](https://togithub.com/coverlet-coverage/coverlet)
| nuget | major | `3.2.0` -> `6.0.0` |

---

### Release Notes

<details>
<summary>coverlet-coverage/coverlet</summary>

###
[`v6.0.0`](https://togithub.com/coverlet-coverage/coverlet/releases/tag/v6.0.0)

Fixed
\-Could not write lines to file CoverletSourceRootsMapping - in use by
another
process[coverlet-coverage/coverlet#1155
\-Incorrect coverage for methods returning IAsyncEnumerable in generic
classes[coverlet-coverage/coverlet#1383
\-Wrong branch coverage for async methods .NET Standard
1.x[coverlet-coverage/coverlet#1376
\-Empty path exception in visual basic
projects[coverlet-coverage/coverlet#775
\-Align published nuget package version to github release
version[coverlet-coverage/coverlet#1413
\-Sync nuget and github release
versions[coverlet-coverage/coverlet#1122

Improvements
\-Migration of the project to .NET
6.0[coverlet-coverage/coverlet#1473

Breaking changes
New parameter ExcludeAssembliesWithoutSources to control automatic
assembly exclusion
[coverlet-coverage/coverlet#1164.
The parameter InstrumentModulesWithoutLocalSources has been removed.
since it can be handled by setting ExcludeAssembliesWithoutSources to
None.
The default heuristics for determining whether to instrument an assembly
has been changed. In previous versions any missing source file was taken
as a signal that it was a third-party project that shouldn't be
instrumented, with exceptions for some common file name patterns for
source generators. Now only assemblies where no source files at all can
be found are excluded from instrumentation, and the code for detecting
source generator files have been removed. To get back to the behaviour
that at least one missing file is sufficient to exclude an assembly, set
ExcludeAssembliesWithoutSources to MissingAny, or use assembly exclusion
filters for more fine-grained control.

[Diff between 3.2.0 and
6.0.0](https://togithub.com/coverlet-coverage/coverlet/compare/v5.7.2...v6.0.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 2am" (UTC), Automerge - At any
time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/ThorstenSauter/NoPlan).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS45Ny4wIiwidXBkYXRlZEluVmVyIjoiMzUuOTcuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
vbreuss added a commit to Testably/Testably.Architecture.Rules that referenced this issue May 22, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [coverlet.collector](https://togithub.com/coverlet-coverage/coverlet)
| nuget | major | `3.2.0` -> `6.0.0` |

---

### Release Notes

<details>
<summary>coverlet-coverage/coverlet</summary>

###
[`v6.0.0`](https://togithub.com/coverlet-coverage/coverlet/releases/tag/v6.0.0)

Fixed
\-Could not write lines to file CoverletSourceRootsMapping - in use by
another
process[coverlet-coverage/coverlet#1155
\-Incorrect coverage for methods returning IAsyncEnumerable in generic
classes[coverlet-coverage/coverlet#1383
\-Wrong branch coverage for async methods .NET Standard
1.x[coverlet-coverage/coverlet#1376
\-Empty path exception in visual basic
projects[coverlet-coverage/coverlet#775
\-Align published nuget package version to github release
version[coverlet-coverage/coverlet#1413
\-Sync nuget and github release
versions[coverlet-coverage/coverlet#1122

Improvements
\-Migration of the project to .NET
6.0[coverlet-coverage/coverlet#1473

Breaking changes
New parameter ExcludeAssembliesWithoutSources to control automatic
assembly exclusion
[coverlet-coverage/coverlet#1164.
The parameter InstrumentModulesWithoutLocalSources has been removed.
since it can be handled by setting ExcludeAssembliesWithoutSources to
None.
The default heuristics for determining whether to instrument an assembly
has been changed. In previous versions any missing source file was taken
as a signal that it was a third-party project that shouldn't be
instrumented, with exceptions for some common file name patterns for
source generators. Now only assemblies where no source files at all can
be found are excluded from instrumentation, and the code for detecting
source generator files have been removed. To get back to the behaviour
that at least one missing file is sufficient to exclude an assembly, set
ExcludeAssembliesWithoutSources to MissingAny, or use assembly exclusion
filters for more fine-grained control.

[Diff between 3.2.0 and
6.0.0](https://togithub.com/coverlet-coverage/coverlet/compare/v5.7.2...v6.0.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/Testably/Testably.Architecture.Rules).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS45OC4wIiwidXBkYXRlZEluVmVyIjoiMzUuOTguMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Valentin Breuß <vbreuss@gmail.com>
bruxisma pushed a commit to bruxisma/atmosphere that referenced this issue May 22, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [coverlet.collector](https://togithub.com/coverlet-coverage/coverlet)
| nuget | major | `3.2.0` -> `6.0.0` |
| [coverlet.msbuild](https://togithub.com/coverlet-coverage/coverlet) |
nuget | major | `3.2.0` -> `6.0.0` |

---

### Release Notes

<details>
<summary>coverlet-coverage/coverlet</summary>

###
[`v6.0.0`](https://togithub.com/coverlet-coverage/coverlet/releases/tag/v6.0.0)

Fixed
\-Could not write lines to file CoverletSourceRootsMapping - in use by
another
process[coverlet-coverage/coverlet#1155
\-Incorrect coverage for methods returning IAsyncEnumerable in generic
classes[coverlet-coverage/coverlet#1383
\-Wrong branch coverage for async methods .NET Standard
1.x[coverlet-coverage/coverlet#1376
\-Empty path exception in visual basic
projects[coverlet-coverage/coverlet#775
\-Align published nuget package version to github release
version[coverlet-coverage/coverlet#1413
\-Sync nuget and github release
versions[coverlet-coverage/coverlet#1122

Improvements
\-Migration of the project to .NET
6.0[coverlet-coverage/coverlet#1473

Breaking changes
New parameter ExcludeAssembliesWithoutSources to control automatic
assembly exclusion
[coverlet-coverage/coverlet#1164.
The parameter InstrumentModulesWithoutLocalSources has been removed.
since it can be handled by setting ExcludeAssembliesWithoutSources to
None.
The default heuristics for determining whether to instrument an assembly
has been changed. In previous versions any missing source file was taken
as a signal that it was a third-party project that shouldn't be
instrumented, with exceptions for some common file name patterns for
source generators. Now only assemblies where no source files at all can
be found are excluded from instrumentation, and the code for detecting
source generator files have been removed. To get back to the behaviour
that at least one missing file is sufficient to exclude an assembly, set
ExcludeAssembliesWithoutSources to MissingAny, or use assembly exclusion
filters for more fine-grained control.

[Diff between 3.2.0 and
6.0.0](https://togithub.com/coverlet-coverage/coverlet/compare/v5.7.2...v6.0.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/bruxisma/atmosphere).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS45Ny4wIiwidXBkYXRlZEluVmVyIjoiMzUuOTcuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Signed-off-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@daveMueller daveMueller unpinned this issue Aug 15, 2023
dariuszkuc pushed a commit to apollographql/federation-hotchocolate that referenced this issue Oct 19, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [coverlet.msbuild](https://togithub.com/coverlet-coverage/coverlet) |
`3.2.0` -> `6.0.0` |
[![age](https://developer.mend.io/api/mc/badges/age/nuget/coverlet.msbuild/6.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/nuget/coverlet.msbuild/6.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/nuget/coverlet.msbuild/3.2.0/6.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/coverlet.msbuild/3.2.0/6.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>coverlet-coverage/coverlet (coverlet.msbuild)</summary>

###
[`v6.0.0`](https://togithub.com/coverlet-coverage/coverlet/releases/tag/v6.0.0)

Fixed
\-Could not write lines to file CoverletSourceRootsMapping - in use by
another
process[coverlet-coverage/coverlet#1155
\-Incorrect coverage for methods returning IAsyncEnumerable in generic
classes[coverlet-coverage/coverlet#1383
\-Wrong branch coverage for async methods .NET Standard
1.x[coverlet-coverage/coverlet#1376
\-Empty path exception in visual basic
projects[coverlet-coverage/coverlet#775
\-Align published nuget package version to github release
version[coverlet-coverage/coverlet#1413
\-Sync nuget and github release
versions[coverlet-coverage/coverlet#1122

Improvements
\-Migration of the project to .NET
6.0[coverlet-coverage/coverlet#1473

Breaking changes
New parameter ExcludeAssembliesWithoutSources to control automatic
assembly exclusion
[coverlet-coverage/coverlet#1164.
The parameter InstrumentModulesWithoutLocalSources has been removed.
since it can be handled by setting ExcludeAssembliesWithoutSources to
None.
The default heuristics for determining whether to instrument an assembly
has been changed. In previous versions any missing source file was taken
as a signal that it was a third-party project that shouldn't be
instrumented, with exceptions for some common file name patterns for
source generators. Now only assemblies where no source files at all can
be found are excluded from instrumentation, and the code for detecting
source generator files have been removed. To get back to the behaviour
that at least one missing file is sufficient to exclude an assembly, set
ExcludeAssembliesWithoutSources to MissingAny, or use assembly exclusion
filters for more fine-grained control.

[Diff between 3.2.0 and
6.0.0](https://togithub.com/coverlet-coverage/coverlet/compare/v5.7.2...v6.0.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/apollographql/federation-hotchocolate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xOS4yIiwidXBkYXRlZEluVmVyIjoiMzcuMTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
as-designed Expected behaviour needs repro Needs repro to be investigated, cannot repro in local Priority:1 Very important to release, not a ship blocker
Projects
None yet