Makes it far easier to navigate back to the specific job that run the tests
This is not achievable universally and consistently until we get GITHUB_JOB_ID :(
But in the meantime, we do a best-effort to build up the right link. A GH_JOB_NAME is provided for matrix-based jobs which otherwise would never match even via API lookup.
:test_tube: Details on Ubuntu 22.04.4 LTS:x: Demo.Tests.Fails_With_Complex_StackTrace
> ```csharp
> at Demo.Tests.Unexpected() in /_/src/Demo/Tests.cs:line 49
> at Demo.Tests.Run() in /_/src/Demo/Tests.cs:line 47
> at Demo.Tests.b__6_0() in /_/src/Demo/Tests.cs:line 36
> at Demo.Tests.Fails_With_Complex_StackTrace() in /_/src/Demo/Tests.cs:line 38
> ```
:x: Demo.Tests.Fails_With_Output
> ```csharp
> at Demo.Tests.Fails_With_Output() in /_/src/Demo/Tests.cs:line 30
> ```
> > It was going so well...
> > Yet you never know
> > Which is why you sprinkle all these WriteLines :eyes:
:x: Demo.Tests.FailsOnlyOnUnix
> ```csharp
> at Demo.Tests.FailsOnlyOnUnix() in /_/src/Demo/Tests.cs:line 45
> ```
:white_check_mark: Demo.Tests.Parameterized(culture: "de")
:white_check_mark: Demo.Tests.Parameterized(culture: "en")
:white_check_mark: Demo.Tests.Parameterized(culture: "es")
:white_check_mark: Demo.Tests.Parameterized(culture: "fr")
:grey_question: Demo.Tests.Skipped_Test_Does_Not_Run => Shouldn't run for now :)
:white_check_mark: Demo.Tests.Test_With_Output
> > Hello, world from xunit ITestOutputHelper!
:grey_question: Demo.Tests.WindowsOnlyTest => Test only runs on Win32NT
:test_tube: Details on macOS Unix 14.5.0:x: Demo.Tests.Fails_With_Complex_StackTrace
> ```csharp
> at Demo.Tests.Unexpected() in /_/src/Demo/Tests.cs:line 49
> at Demo.Tests.Run() in /_/src/Demo/Tests.cs:line 47
> at Demo.Tests.b__6_0() in /_/src/Demo/Tests.cs:line 36
> at Demo.Tests.Fails_With_Complex_StackTrace() in /_/src/Demo/Tests.cs:line 38
> ```
:x: Demo.Tests.Fails_With_Output
> ```csharp
> at Demo.Tests.Fails_With_Output() in /_/src/Demo/Tests.cs:line 30
> ```
> > It was going so well...
> > Yet you never know
> > Which is why you sprinkle all these WriteLines :eyes:
:x: Demo.Tests.FailsOnlyOnUnix
> ```csharp
> at Demo.Tests.FailsOnlyOnUnix() in /_/src/Demo/Tests.cs:line 45
> ```
:white_check_mark: Demo.Tests.Parameterized(culture: "de")
:white_check_mark: Demo.Tests.Parameterized(culture: "en")
:white_check_mark: Demo.Tests.Parameterized(culture: "es")
:white_check_mark: Demo.Tests.Parameterized(culture: "fr")
:grey_question: Demo.Tests.Skipped_Test_Does_Not_Run => Shouldn't run for now :)
:white_check_mark: Demo.Tests.Test_With_Output
> > Hello, world from xunit ITestOutputHelper!
:grey_question: Demo.Tests.WindowsOnlyTest => Test only runs on Win32NT
:test_tube: Details on Microsoft Windows 10.0.20348:x: Demo.Tests.Fails_With_Complex_StackTrace
> ```csharp
> at Demo.Tests.Unexpected() in /_/src/Demo/Tests.cs:line 49
> at Demo.Tests.Run() in /_/src/Demo/Tests.cs:line 47
> at Demo.Tests.b__6_0() in /_/src/Demo/Tests.cs:line 36
> at Demo.Tests.Fails_With_Complex_StackTrace() in /_/src/Demo/Tests.cs:line 38
> ```
:x: Demo.Tests.Fails_With_Output
> ```csharp
> at Demo.Tests.Fails_With_Output() in /_/src/Demo/Tests.cs:line 30
> ```
> > It was going so well...
> > Yet you never know
> > Which is why you sprinkle all these WriteLines :eyes:
:grey_question: Demo.Tests.FailsOnlyOnUnix => Test only runs on Unix
:white_check_mark: Demo.Tests.Parameterized(culture: "de")
:white_check_mark: Demo.Tests.Parameterized(culture: "en")
:white_check_mark: Demo.Tests.Parameterized(culture: "es")
:white_check_mark: Demo.Tests.Parameterized(culture: "fr")
:grey_question: Demo.Tests.Skipped_Test_Does_Not_Run => Shouldn't run for now :)
:white_check_mark: Demo.Tests.Test_With_Output
> > Hello, world from xunit ITestOutputHelper!
:white_check_mark: Demo.Tests.WindowsOnlyTest
> > This test runs only on Windows
Makes it far easier to navigate back to the specific job that run the tests
This is not achievable universally and consistently until we get GITHUB_JOB_ID :(
But in the meantime, we do a best-effort to build up the right link. A
GH_JOB_NAME
is provided for matrix-based jobs which otherwise would never match even via API lookup.