Skip to content

Mark TestRunners packages IsShipping and add package metadata - #1588

Open
amirvenus wants to merge 2 commits into
dotnet:mainfrom
amirvenus:fix/testrunners-package-metadata
Open

Mark TestRunners packages IsShipping and add package metadata#1588
amirvenus wants to merge 2 commits into
dotnet:mainfrom
amirvenus:fix/testrunners-package-metadata

Conversation

@amirvenus

Copy link
Copy Markdown
Contributor

Summary

Companion to the issue in #1587. This is a small, conservative change that:

  • Adds <IsShipping>true</IsShipping> to Microsoft.DotNet.XHarness.TestRunners.Common.csproj and Microsoft.DotNet.XHarness.TestRunners.Xunit.csproj, making the shipping intent explicit.
  • Fills in <Description> and <PackageTags> so the packages carry proper NuGet metadata.

Context

Since 2023-09-09 neither package has been republished to the dotnet-eng feed — the last published versions are 1.0.0-prerelease.23252.4. Over the same window Microsoft.DotNet.XHarness.CLI has continued publishing up to 11.0.0-prerelease.26217.1. Full diagnosis is in #1587.

This PR does not attempt to change the publish pipeline itself — I don't yet know whether the nupkgs are produced-but-filtered or simply not produced on your pipeline, and I don't want to guess. I'd appreciate a pointer from someone with access to a recent build log about whether these changes are enough on their own, or whether more plumbing is needed downstream.

Why this is still worth taking even if it doesn't fully fix publishing

  • Making IsShipping explicit is a one-time hygiene improvement regardless — it removes any ambiguity between "intentional non-shipping" and "accidental non-shipping" for future readers.
  • <Description> / <PackageTags> benefit consumers when these packages publish — whether that resumes via this PR, a follow-up, or a pipeline-side fix.

Test plan

  • Arcade build locally / in CI produces Microsoft.DotNet.XHarness.TestRunners.Common.<version>.nupkg and .Xunit.<version>.nupkg
  • Those nupkgs appear in the post-build asset manifest
  • Nuspec contains <description> and <tags> from the csproj values

Motivation (consumer perspective)

On a downstream MAUI Android device-test project (.NET 10, net10.0-android36.1) I upgraded to Microsoft.DotNet.XHarness.CLI 11.0.0-prerelease.26217.1 and confirmed the --enable-coverage flag from #1565 is accepted and wired through to am instrument. Tests run cleanly, but no Cobertura file is produced because the test app still links Microsoft.DotNet.XHarness.TestRunners.Xunit 1.0.0-prerelease.23252.4 — which predates CoverageManager. Once TestRunners publishing resumes, the end-to-end flow will work.

Happy to revise scope if the maintainers prefer a different shape.

Companion to dotnet#1565 (coverage collection). Two TestRunners packages
(Microsoft.DotNet.XHarness.TestRunners.Common and .Xunit) have not
published to the dotnet-eng feed since 1.0.0-prerelease.23252.4
(2023-09-09), while Microsoft.DotNet.XHarness.CLI has continued
publishing continuously up to 11.0.0-prerelease.26217.1+.

Without these packages being republished, the device-side CoverageManager
added in dotnet#1565 cannot reach consumers — the CLI side of --enable-coverage
ships, but the test runner that actually produces the coverage report does
not.

This change:
  - Adds <IsShipping>true</IsShipping> to both TestRunners csprojs (makes
    the shipping intent explicit so it's visible in Arcade's asset manifest
    path).
  - Fills in <Description> and <PackageTags> so the packages publish with
    proper NuGet metadata when shipping resumes.

Does not modify the publish pipeline itself; see the companion issue for
the broader diagnosis and to confirm whether the gap is intentional.
@davidnguyen-tech davidnguyen-tech self-assigned this Aug 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants