Unit Test failures now output a job summary, making it easier to see what the failures are. #5182
+28
−0
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.
This change was requested by Absolucy, of catgirl fame.
About The Pull Request
The CI is very useful for figuring out if you made any errors with your changes. Among other things, it runs unit tests on a variety of maps and BYOND versions, making sure everything still works as expected.
Unfortunately, figuring out the specific errors you got in CI is a bit of a pain. You could scroll through the individual logs - but the logs are so long, it'd take forever.
You could also use the annotations section, but that's gets filled with generic error messages:
This PR helps on this matter, by adding a job summary whenever a failure is detected. Here's an example where I intentionally generated fails:
(If you want to see how it looks on your own screen, have a look: https://github.com/LikeLakers2/tgstation/actions/runs/13026959405)
As it is set up currently, each integration test job will generate its own summary; each summary contains one section per failed test; each section will contain the associated failure message(s) in a code block.
This system is pretty basic currently (for example, breaking something across all maps will cause many job summaries to be generated), but it's a step up from what we had previously. Ideally, I'll come back to this later, and improve on the job summary output - for example, by merging identical errors across maps, and having the failures generated as a singular job summary.
Why It's Good For The Game
Having all the failures summarized in one place, without generic failure messages splattered in-between, can make it easier to diagnose issues detected by CI.