Inspiration
A test can fail in one CI run and pass on the next. A developer needs the evidence before deciding whether the problem is a regression, the test, the environment, or test data. Flakewise helps turn multiple JUnit reports into a concrete investigation.
What it does
Upload JUnit XML reports and supply the commit identifier for each run. Flakewise groups observations by test identity and matching user-supplied commit, highlights tests with both passing and failing results, and shows the individual outcomes and failure messages. Search and filters help narrow the results; export the analysis as JSON or copy a reviewable issue draft. A clearly labelled sample is available.
How we built it
A responsive web interface sends bounded reports to a Python API. The analyzer rejects malformed XML, DTD and entity declarations, duplicate test identities in a run, invalid identifiers and oversized inputs. The service processes the reports without an application data store. JUnit data can contain sensitive information, so users should remove secrets before uploading.
GitLab and CI
The source includes a GitLab CI pipeline and a scoped supervised repair workflow. A Flakewise-specific GitLab Duo execution is being verified; this entry will link the actual session and pipeline when available. The previous Retryframe agent run is not presented as evidence for this new project.
What we learned
A pass/fail flip on a user-labelled commit is evidence of inconsistent outcomes, not proof that the test is flaky or that its code caused the difference. The application cannot verify the commit, environment, or data provenance. GitLab and other products already offer related flaky-test capabilities; Flakewise focuses on portable, inspectable evidence from user-provided reports.
Try it
Open https://flakewise.vercel.app/ and select the sample, or provide JUnit XML files from your own CI runs and enter their commit IDs. Select a test to inspect observations and copy the issue draft. No account is required.
Next
Complete and document a real GitLab Duo repair session and its before-and-after CI evidence, then expand compatibility with additional JUnit variants and optional integrations.
Built With
- css3
- gitlab-ci/cd
- html5
- javascript
- junit
- python
- vercel