oxidecomputer / oxidecomputer/buildomat

button on GitHub screen for filing issue for test failure

Open
#47 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
72
Forks
5
PR merge metrics
No merged PRs in 30d

Description

It would be handy if the GitHub summary for a failed run provided a button to automatically file an issue on the repo. I hope this would make it much easier for people to file issues for flaky tests in CI.

More concretely, on this screen:
https://github.com/oxidecomputer/omicron/runs/20443797017

It'd be neat to have a button that would file an issue for this failure. Here's an example issue:
https://github.com/oxidecomputer/omicron/issues/4590

The issue has:

  • a link to the GitHub screen summarizing the result. This lets someone quickly find the commit and PR, if applicable. (This could happen on a commit on "main" or a commit on a PR branch.)
  • a link to the full buildomat log (probably not as critical, since you can get it from the link above, but maybe useful to save people a click)
  • ideally: a pasted excerpt from the log that summarizes the failure. I find this extremely valuable but I'm not sure how best to do it. If stderr is pretty concise on these failures, great. Otherwise we could maybe use some heuristics from cargo nextest output? Or maybe there's already a parseable form of output?

We might also consider a link to search for the same issue already having been filed.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the GitHub run at https://github.com/oxidecomputer/omicron/runs/20443797017 and compare the proposed output with issue 4590. Review how buildomat exposes full logs and whether cargo nextest output is parseable; done means a failure screen can file an issue containing the run link, useful log links or excerpts, and possibly a search for duplicates.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, rust
Domain
ci-cd, devops, testing-qa
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.