AdguardTeam / AdguardTeam/FiltersRegistry
Create a regression test script to compare build results against master
- Dominant language
- Adblock Filter List
- Stars
- 358
- Forks
- 75
- Avg merge
- 23h 37m
- Merged PRs (30d)
- 9
Description
A workflow for comparing compiled rule output between a branch and master (worktrees, parallel builds, diff report).
## Problem
In the #1186 PR's instruction, it's currently a copy-paste shell snippet, which means:
- No progress feedback while the two builds run as background child processes
- No way to configure build behavior without editing the snippet inline
- Easy to typo or skip a step when pasting manually
- Cleanup step is manual and easy to forget
> Please check [Typical workflow — comparing build results against master in DEVELOPMENT.md](https://github.com/AdguardTeam/FiltersRegistry/blob/2bc697b1a5bb708407a51741179510b890f44ea2/DEVELOPMENT.md#typical-workflow--comparing-build-results-against-master)
## Proposal
Turn the workflow into a standalone script exposed via one npm alias, e.g.:
```bash
yarn compare-build-output
```
## Note
Two behaviors from the manual doc are deliberately **not** carried over,
per discussion:
- The doc's cleanup step runs `git reset --hard` in the main repo as a blanket safety net. Baking an unconditional hard-reset into an automated script is a foot-gun (it would silently discard real uncommitted work if run from a dirty branch). The new script will not touch the main repo's tracked state at all — it only removes the worktrees and the `platforms_*_build/` dirs it created.
- No non-interactive/CI fallback for now (backlogged) — the script always prompts, matching local/manual usage. CI usage is a future concern.
## Requirements
- **Single entry point**: one yarn script, no manual multi-step copy-paste
- **Structured report**: keep the existing pass/fail comparison output format
- **Progress indication**: show a loading spinner per build (master/changed), since both run as parallel child processes and currently give no feedback until done
- Interactive options — prompt for:
- Branch selection: list local branches, defaulting to the currently checked-out branch.
- Build mode: `generate-cache` + `build:local` vs. plain build
- Whether to keep or clean up build artifacts (`platforms_*_build/` dirs, worktrees) after the run
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.