ci: add run-spread action for junit reports
Metadata
Current evaluation
No evaluation has been recorded for this issue yet.
Issue body
Adds a workflow for running spread and writing the test results to a JUnit XML test file.
This should be used by any craft workflow that run spread.
While working on https://github.com/canonical/starflow/pull/209, I was effectively creating a bespoke test report format. I decided to extract it into it's own script. Standardized test reports are useful for scenarios such as:
- Test failures are more readable for humans when displayed in a summary ([example](https://github.com/dorny/test-reporter/blob/main/assets/fluent-validation-report.png)).
- Agents can parse them more reliably and efficiently.
- It paves the way for a workflow that retries failing tests.
I chose JUnit as the format because it's widely supported and well-known.
This is a heavily LLM-assisted PR, as this isn't production code.
Tested downstream in https://github.com/canonical/snapcraft/actions/runs/42112040217?pr=6545
On a related note, [spread-plus](https://github.com/canonical/spread-plus#json) has a `-json` flag for exporting its own bespoke test report. If that gets upstreamed to spread, we can switch to it.
Evaluation history
No evaluation history available.
Update history
| Date | Change |
|---|---|
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| created |
Related issues
No embedding available for this issue yet. Run scripts/run_llm.py evaluate to enable similarity search.