Optimized scripts/review_pull_requests.py by implementing bulk metadata
retrieval using git for-each-ref and the %(ahead-behind:main) atom.
Key changes:
- Reduced subprocess calls from O(N) to O(1) for branch status and metadata.
- Implemented global BRANCH_METADATA_CACHE for efficient retrieval.
- Added git version check for 2.41+ (ahead-behind support).
- Filtered out generic 'origin' and 'HEAD' refs from the branch list.
- Added integration test for the PR reviewer in scripts/test_automation.py.
Performance impact:
- Reduced execution time by ~40% in the current environment (~0.64s to ~0.38s).
- Significant scalability improvement for repositories with many branches.
Refactored `scripts/test_automation.py` to run independent integration tests in parallel using `concurrent.futures.ProcessPoolExecutor`.
* 💡 **What:** Used `ProcessPoolExecutor` to run tests concurrently.
* 🎯 **Why:** To improve test suite performance.
* 📊 **Measured Improvement:** ~30% faster (3.3s -> 2.25s).
* **Details:** Used processes instead of threads to ensure `contextlib.redirect_stdout` works correctly for each test without interference.
- AUTOMATION_FEATURES.md with comprehensive feature overview
- Integration test suite for verifying all scripts
- Logs directory README for documentation
- All tests passing successfully
Co-authored-by: Mouy-leng <199350297+Mouy-leng@users.noreply.github.com>