gotestsum icon indicating copy to clipboard operation
gotestsum copied to clipboard

Support Markdown formatted output.

Open jeschkies opened this issue 1 year ago • 3 comments

Since GitHub Actions support job summaries it would be nice to support a Markdown formatted summary.

jeschkies avatar Feb 02 '24 13:02 jeschkies

Thank you for the feature suggestion! Job summaries (docs) seem like a great feature.

It looks like these summaries are printed separately from the test output, so the way I think this should work is something along these lines:

  • gotestsum should print its summary as it does today to the regular step output
  • if the GITHUB_STEP_SUMMARY environment variable is set to the path of a file that exists, write a markdown summary to that file
  • add a new flag to specify what the summary should look like, or to disable it entirely. I imagine that flag would work similar to the existing --hide-summary flag, but that will depend on exactly what's in the summary.

For the contents of the markdown summary, I guess it would be pretty similar to the existing summary, except maybe in reverse. Start with a DONE line that has counts of tests pass/fail/skipped/error/total. Followed by sections for errors, then failed output , and finally skipped test output. If the summary supports collapsed sections that might be nice to hide the full output by default, or maybe only when the output is longer than ~10 lines.

Anything else we could include in that summary?

dnephin avatar Feb 03 '24 23:02 dnephin

Start with a DONE line that has counts of tests pass/fail/skipped/error/total. Followed by sections for errors, then failed output , and finally skipped test output.

That sounds pretty good to me.

As for where to write the summary I'm not sure. Now that you've mentioned it it seems like a separate output. Would an option like --summary-output-path $GITHUB_STEP_SUMMARY make sense?

jeschkies avatar Feb 19 '24 15:02 jeschkies

You can use go-test-report, to generate markdown (and HTML) summaries

  • https://github.com/vakenbolt/go-test-report/issues/38

There is a related issue on how to make the tools co-operation better, and a request to move the project to gotest.tools

  • https://github.com/vakenbolt/go-test-report/issues/61

afbjorklund avatar Mar 14 '24 06:03 afbjorklund