Implement tool markdown reports. #19054
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Many tools produce HTML and we do our best to support those but they are less than ideal. We cannot safely trust those HTML files to be rendered after they have been imported - probably even rendering the HTML of "safe tools" will catch up with us at some point. The ability to be able to safely render these Markdown components even after an export and re-import makes them more reproducible IMO. Once implemented, it will be much easier to compose these chunks and embed them into workflow reports also and even in the PDF version of those reports - where we couldn't really do much with HTML at all I believe.
I've included two test tools. One that links to and display the outputs of the tool and a second one that utilizes "extra files" content of the report itself - if the tool would like to included data in the report that shouldn't be a formal output of the tool. I've discovered some limitations around extra files rendering and I've included some bug fixes to get the existing components to work. There is still work to be done around these components but I think that is independent of this task.
The next steps include documenting which directives are available to tools (some don't make sense like workflow_license), better reporting when there are errors, and allowing the embed of these outputs into workflow and page reports after the fact.
xref #19039
How to test the changes?
(Select all options that apply)
License