I'm building a flaky-test finder with Spring Boot, Go and SQS (v0.1.0)
Описание и применение
FlakeSince – это инструмент, который собирает результаты CI‑тестов, сохраняет их в PostgreSQL и обеспечивает точную запись каждого запуска, что позволяет выявлять и отслеживать нестабильные тесты.
Задача
Flaky tests cause CI builds to fail intermittently, wasting time re‑running and investigating failures.
Результат
FlakeSince reliably ingests CI test results, preserves full history, and ensures each run is stored exactly once, enabling future flaky‑test detection and analysis.
Рабочий процесс
- 1. GitHub Action uploads JUnit XML files to FlakeSince action.
- 2. Go ingest service validates API key, parses XML, and enqueues a message per CI run to SQS.
- 3. SQS (or ElasticMQ locally) holds the message until processed.
- 4. Spring Boot API reads the queue, checks for duplicates, saves the run to PostgreSQL, and deletes the message upon success.
- 5. If processing fails three times, the message moves to a dead‑letter queue.
Доказательства
FlakeSince keeps the pass/fail history of every normal CI run, so it can also estimate since which commit a test became flaky, without re‑running anything.
A small Go ingest service checks the API key, parses the XML and puts one message per CI run on a queue.
If saving fails 3 times, the message goes to a dead‑letter queue instead of being lost.
- Дата записи: 2026-10-26T08:11:18.702Z