{"id":15020775,"url":"https://github.com/electron/ventifact","last_synced_at":"2025-08-08T05:13:02.354Z","repository":{"id":173481383,"uuid":"647789404","full_name":"electron/ventifact","owner":"electron","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-15T00:25:22.000Z","size":1627,"stargazers_count":3,"open_issues_count":4,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-08-04T19:24:14.914Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/electron.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-05-31T14:21:04.000Z","updated_at":"2025-04-04T04:03:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"8576ca14-1e16-4d76-bb3b-3045e49452cf","html_url":"https://github.com/electron/ventifact","commit_stats":{"total_commits":61,"total_committers":2,"mean_commits":30.5,"dds":"0.19672131147540983","last_synced_commit":"4aa36af1d6a6d29dcdfedf1396415634937f3212"},"previous_names":["electron/ventifact"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/electron/ventifact","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electron%2Fventifact","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electron%2Fventifact/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electron%2Fventifact/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electron%2Fventifact/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/electron","download_url":"https://codeload.github.com/electron/ventifact/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electron%2Fventifact/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269366853,"owners_count":24405250,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-08T02:00:09.200Z","response_time":72,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-09-24T19:55:36.655Z","updated_at":"2025-08-08T05:13:02.334Z","avatar_url":"https://github.com/electron.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ventifact\n\n\u003e 🪨 _\"stone polished by wind-blown sand\"_\n\nVentifact monitors automated test results, providing a dashboard to track overall test health as well as powering automation to detect and disable flaky tests.\n\n\u003e **Warning**\n\u003e\n\u003e ⚠️ This application is still under development and is not close to feature\n\u003e completion yet.\n\n# Components\n\n## Limited-History Test Database\n\nVentifact maintains a database of recent test results, used to power its dashboard and flaky test detection. The database is kept current, persistent across restarts, and is automatically self-pruned to keep its size manageable.\n\nThe database supports two modes: _construction_, where the database is created from scratch; and _maintenance_, where the database is routinely updated with the newest test results and pruned of old results.\n\nThe database's primary purpose is only to store data that is most likely to be currently relevant. It is not intended to be a complete history of all test results.\n\n## Dashboard\n\n\u003e 🚧 To do.\n\nThe dashboard provides a high-level overview of test health, including:\n\n- Charts displaying various metrics of test health:\n  - Rolling average of merged PR statuses (🟢 passing, 🔴 failing, etc.)\n  - Potential test flakes\n- List of recent test failures on `main`\n- List of recent test flakes on `main`\n- Per-test details \u0026 recent history\n- Disabled test tracking\n\n## Flaky Test Automation\n\n\u003e 🚧 To do.\n\nVentifact employs strategies and heuristics to identify flaky tests and will smartly create PRs that suggest disabling them.\n\n# Project Structure\n\nConceptually, Ventifact is a collection of packages, divided into three categories:\n\n- **Services** (`*-svc`) are long-running processes that provide ongoing functionality.\n- **Tasks** (`*-tsk`) are short-lived processes that perform and encompass a specific action.\n- **Libraries** (`*-lib`) are shared code across services and/or tasks (or simply act as an encapsulation boundary).\n\nEach category has a corresponding package name suffix, as shown above. Packages can be found in the top-level `packages/` directory and are managed by\n\n## Yarn 2+\n\nThis project uses the \"new\" version of Yarn (aka *Berry*); that is, this project **does not use Yarn 1.x**. You will need a recent version of Node.js to use this project as intended.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felectron%2Fventifact","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felectron%2Fventifact","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felectron%2Fventifact/lists"}