Skip to content

Conversation

@Tyrrrz
Copy link
Owner

@Tyrrrz Tyrrrz commented Oct 11, 2025

Closes #41

Based on #43 by @Evangelink

Evangelink and others added 4 commits October 11, 2025 20:10
Co-authored-by: Martin Costello <martin@martincostello.com>
Co-authored-by: Oleksii Holub <1935960+Tyrrrz@users.noreply.github.com>
Copilot AI review requested due to automatic review settings October 11, 2025 18:43
@Tyrrrz Tyrrrz added the enhancement New feature or request label Oct 11, 2025
@Tyrrrz Tyrrrz marked this pull request as draft October 11, 2025 18:43
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Migrates the logger from VSTest to Microsoft.Testing.Platform, replacing the VSTest logger with a Testing Platform extension that reports to GitHub Actions.

  • Introduces a TestReporter extension (data consumer and session lifetime handler) with command-line options.
  • Updates summary/annotation generation and internal models (TestOutcome, TestResult, TestDefinition), removing VSTest-specific code.
  • Adjusts the template and statistics to align with the new outcome model.

Reviewed Changes

Copilot reviewed 25 out of 25 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
GitHubActionsTestLogger/Utils/Extensions/TestRunCriteriaExtensions.cs Removed VSTest-specific test run settings parsing.
GitHubActionsTestLogger/Utils/Extensions/TestResultExtensions.cs Removed VSTest-specific source info parsing and stack frame logic.
GitHubActionsTestLogger/Utils/Extensions/TestCaseExtensions.cs Removed VSTest-specific name parsing helpers.
GitHubActionsTestLogger/Utils/Extensions/TestPlatformExtensions.cs Adds helper to read single CLI option arguments from Microsoft.Testing.Platform.
GitHubActionsTestLogger/TestingPlatformBuilderHook.cs Adds Testing Platform builder hook to register GitHub reporting.
GitHubActionsTestLogger/TestSummaryTemplate.cshtml Switches to new TestOutcome enum (uses None vs NotFound) and cleans up imports.
GitHubActionsTestLogger/TestRunStatistics.cs Aligns overall outcome with new enum (removes NotFound branch).
GitHubActionsTestLogger/TestResult.cs New internal model for test results.
GitHubActionsTestLogger/TestReporterOptionsProvider.cs Defines CLI options and validation for the new reporter.
GitHubActionsTestLogger/TestReporterOptions.cs New options for reporter and resolver from CLI.
GitHubActionsTestLogger/TestReporterExtension.cs Extension metadata and enablement.
GitHubActionsTestLogger/TestReporterContext.cs Core context for formatting annotations and writing the summary.
GitHubActionsTestLogger/TestReporter.cs Implements IDataConsumer and ITestSessionLifetimeHandler to report results.
GitHubActionsTestLogger/TestOutcome.cs New internal TestOutcome enum and mapping from Testing Platform states.
GitHubActionsTestLogger/TestLoggerOptions.cs Removed old VSTest logger options.
GitHubActionsTestLogger/TestLoggerContext.cs Removed old VSTest logger context.
GitHubActionsTestLogger/TestLogger.cs Removed old VSTest logger.
GitHubActionsTestLogger/TestDefinition.cs New internal model for test definitions and metadata.
GitHubActionsTestLogger/GitHubWorkflow.cs Class made internal; used by reporter/summary.
GitHubActionsTestLogger/GitHubReportExtensions.cs Registers reporter and options provider in the TestApplicationBuilder.
GitHubActionsTestLogger/GitHubActionsTestLogger.csproj Replaces VSTest package with Microsoft.Testing.Platform.
GitHubActionsTestLogger.Tests/* Updates tests to use TestReporterContext and TestReporterOptions.

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@Tyrrrz Tyrrrz changed the title Migrate from vstest to Microsoft.Testing.Platform (#43) Migrate from vstest to Microsoft.Testing.Platform Oct 11, 2025
@codecov
Copy link

codecov bot commented Oct 14, 2025

Codecov Report

❌ Patch coverage is 84.85981% with 81 lines in your changes missing coverage. Please review.
✅ Project coverage is 85.03%. Comparing base (177dcb6) to head (423a9d9).
⚠️ Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
GitHubActionsTestLogger/MtpLogger.cs 78.20% 9 Missing and 8 partials ⚠️
...itHubActionsTestLogger/MtpLoggerOptionsProvider.cs 82.55% 12 Missing and 3 partials ⚠️
...ctionsTestLogger/Utils/Extensions/MtpExtensions.cs 75.92% 3 Missing and 10 partials ⚠️
GitHubActionsTestLogger/VsTestLogger.cs 88.42% 5 Missing and 6 partials ⚠️
...onsTestLogger/Utils/Extensions/VsTestExtensions.cs 72.72% 2 Missing and 4 partials ⚠️
...itHubActionsTestLogger/GitHub/GitHubEnvironment.cs 88.57% 1 Missing and 3 partials ⚠️
GitHubActionsTestLogger/GitHub/GitHubWorkflow.cs 87.09% 1 Missing and 3 partials ⚠️
...ctionsTestLogger/Reporting/TestReportingContext.cs 96.29% 0 Missing and 2 partials ⚠️
...itHubActionsTestLogger/Reporting/TestRunEndInfo.cs 84.61% 0 Missing and 2 partials ⚠️
...onsTestLogger/Reporting/TestSummaryTemplate.cshtml 91.30% 1 Missing and 1 partial ⚠️
... and 4 more
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #53      +/-   ##
==========================================
+ Coverage   84.85%   85.03%   +0.17%     
==========================================
  Files          16       23       +7     
  Lines         449      735     +286     
  Branches       57       88      +31     
==========================================
+ Hits          381      625     +244     
- Misses         40       57      +17     
- Partials       28       53      +25     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

github-actions bot pushed a commit to IntelliTect/EssentialCSharp.ListingManager that referenced this pull request Dec 1, 2025
Updated
[GitHubActionsTestLogger](https://github.com/Tyrrrz/GitHubActionsTestLogger)
from 2.4.1 to 3.0.1.

<details>
<summary>Release notes</summary>

_Sourced from [GitHubActionsTestLogger's
releases](https://github.com/Tyrrrz/GitHubActionsTestLogger/releases)._

## 3.0.1

**Full Changelog**:
Tyrrrz/GitHubActionsTestLogger@3.0...3.0.1

## 3.0

## Configuration breaking changes

- Passed tests are now included by default.
- Skipped tests are now included by default.
- Empty test summaries are now not allowed by default.
- `@​trait.XYZ` replacement token has been removed.
- Options have been renamed.

See the readme for updated usage instructions.

## What's Changed
* Bump the nuget group with 2 updates by @​dependabot[bot] in
Tyrrrz/GitHubActionsTestLogger#28
* Bump the nuget group with 3 updates by @​dependabot[bot] in
Tyrrrz/GitHubActionsTestLogger#29
* Bump the nuget group with 5 updates by @​dependabot[bot] in
Tyrrrz/GitHubActionsTestLogger#30
* Bump PolyShim from 1.13.0 to 1.14.0 in the nuget group by
@​dependabot[bot] in
Tyrrrz/GitHubActionsTestLogger#32
* Remove redundant target frameworks by @​Tyrrrz in
Tyrrrz/GitHubActionsTestLogger#33
* Bump the nuget group with 4 updates by @​dependabot[bot] in
Tyrrrz/GitHubActionsTestLogger#34
* Bump the nuget group with 5 updates by @​dependabot[bot] in
Tyrrrz/GitHubActionsTestLogger#38
* Bump the nuget group with 5 updates by @​dependabot[bot] in
Tyrrrz/GitHubActionsTestLogger#39
* Bump the nuget group with 5 updates by @​dependabot[bot] in
Tyrrrz/GitHubActionsTestLogger#42
* Clarify wording in readme regarding MTP limitation by @​Youssef1313 in
Tyrrrz/GitHubActionsTestLogger#44
* Bump the nuget group with 2 updates by @​dependabot[bot] in
Tyrrrz/GitHubActionsTestLogger#46
* Bump CSharpier.MsBuild and 4 others by @​dependabot[bot] in
Tyrrrz/GitHubActionsTestLogger#48
* Bump the nuget group with 6 updates by @​dependabot[bot] in
Tyrrrz/GitHubActionsTestLogger#49
* Bump xunit.runner.visualstudio from 3.1.1 to 3.1.3 by
@​dependabot[bot] in
Tyrrrz/GitHubActionsTestLogger#51
* Bump the nuget group with 2 updates by @​dependabot[bot] in
Tyrrrz/GitHubActionsTestLogger#50
* Bump the nuget group with 3 updates by @​dependabot[bot] in
Tyrrrz/GitHubActionsTestLogger#52
* Bump the nuget group with 3 updates by @​dependabot[bot] in
Tyrrrz/GitHubActionsTestLogger#54
* Add support for `Microsoft.Testing.Platform` by @​Tyrrrz in
Tyrrrz/GitHubActionsTestLogger#53
* Drop support for traits within annotation title/message format by
@​Tyrrrz in Tyrrrz/GitHubActionsTestLogger#55
* Skip updates for non-concluded tests by @​Tyrrrz in
Tyrrrz/GitHubActionsTestLogger#56

## New Contributors
* @​dependabot[bot] made their first contribution in
Tyrrrz/GitHubActionsTestLogger#28
* @​Youssef1313 made their first contribution in
Tyrrrz/GitHubActionsTestLogger#44

**Full Changelog**:
Tyrrrz/GitHubActionsTestLogger@2.4.1...3.0

Commits viewable in [compare
view](Tyrrrz/GitHubActionsTestLogger@2.4.1...3.0.1).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=GitHubActionsTestLogger&package-manager=nuget&previous-version=2.4.1&new-version=3.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for Microsoft.Testing.Platform

4 participants