# Structured output for ExUnit tests in GitHub actions

**URL:** <https://forum.elixirforum.com/t/structured-output-for-exunit-tests-in-github-actions/43786>\
**Category:** Questions\
**Tags:** exunit, github-actions\
**Created:** [November 11, 2021, 7:04pm UTC](https://forum.elixirforum.com/t/structured-output-for-exunit-tests-in-github-actions/43786 "2021-11-11T19:04:54Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![axelson](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/axelson/32/26351_2.png) [@axelson](https://forum.elixirforum.com/u/axelson)\
**Post date:** [November 11, 2021, 7:04pm UTC](https://forum.elixirforum.com/t/structured-output-for-exunit-tests-in-github-actions/43786/1 "2021-11-11T19:04:54Z")

</div>

Is anyone using any sort of tool to produce machine readable output from exunit when using GitHub actions?

In the past with CircleCI I’ve used [GitHub - victorolinasc/junit-formatter: A JUnit XML report exporter for Elixir's ExUnit · GitHub](https://github.com/victorolinasc/junit-formatter) since CircleCI can natively parse the junit output format. However GitHub actions doens’t natively support the junit format as far as I can tell.

So I’ve tried to use [GitHub - mikepenz/action-junit-report: Reports junit test results as GitHub Pull Request Check · GitHub](https://github.com/mikepenz/action-junit-report) but the results are sub-par, the errors are duplicated and the generated links don’t work.

Has anyone else dealt with this before?

---

<div class="post-metadata">

**Author:** ![hauleth](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/hauleth/32/18942_2.png) [@hauleth](https://forum.elixirforum.com/u/hauleth)\
**Post date:** [November 11, 2021, 7:11pm UTC](https://forum.elixirforum.com/t/structured-output-for-exunit-tests-in-github-actions/43786/2 "2021-11-11T19:11:08Z")

</div>

I can take a look. Seems like nice addition to `mix_machine`.

---

<div class="post-metadata">

**Author:** ![axelson](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/axelson/32/26351_2.png) [@axelson](https://forum.elixirforum.com/u/axelson)\
**Post date:** [November 11, 2021, 8:52pm UTC](https://forum.elixirforum.com/t/structured-output-for-exunit-tests-in-github-actions/43786/3 "2021-11-11T20:52:06Z")

</div>

Thanks, that would be great if mix\_machine supported this. It would be one less dependency needed in my CI setup 🎉

---

<div class="post-metadata">

**Author:** ![mayel](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mayel/32/26431_2.png) [@mayel](https://forum.elixirforum.com/u/mayel)\
**Post date:** [May 2, 2022, 5:02am UTC](https://forum.elixirforum.com/t/structured-output-for-exunit-tests-in-github-actions/43786/4 "2022-05-02T05:02:45Z")

</div>

@axelson @hauleth I was looking into doing something like this and wondered if you’ve found/done anything new since then?

---

<div class="post-metadata">

**Author:** ![axelson](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/axelson/32/26351_2.png) [@axelson](https://forum.elixirforum.com/u/axelson)\
**Post date:** [November 2, 2025, 6:35am UTC](https://forum.elixirforum.com/t/structured-output-for-exunit-tests-in-github-actions/43786/5 "2025-11-02T06:35:54Z")

</div>

I came across this post again recently and I’ve found that [GitHub - erlef/setup-beam: Set up your BEAM-based GitHub Actions workflow (Erlang, Elixir, Gleam, ...) · GitHub](https://github.com/erlef/setup-beam) now includes good machine readable output (or at least enough that I don’t feel a need to look for other additions).
