From 662cb5e3f230f36f0624a92015f316f61c482b02 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 20 Feb 2026 03:35:04 +0000 Subject: [PATCH 1/2] Initial plan From 2f154a3c7867396aa0dd130f3bf8bf2db652a44f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 20 Feb 2026 03:38:08 +0000 Subject: [PATCH 2/2] docs: fix README CI/CD workflow references and testing commands - Add CI/CD Workflows table (sync.yml, bandit.yml, codacy.yml) with trigger conditions and purposes to clarify actual workflow structure - Update Testing and Release Process sections to use `uv run pytest` (consistent with dev deps in pyproject.toml optional-dependencies) - No ci.yml references remain in README Co-authored-by: abhimehro <84992105+abhimehro@users.noreply.github.com> --- README.md | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 163a56ee..22cef193 100644 --- a/README.md +++ b/README.md @@ -129,19 +129,19 @@ This project includes a comprehensive test suite to ensure code quality and corr **Basic test execution:** ```bash # Install dev dependencies first -pip install pytest pytest-mock pytest-xdist +uv sync --all-extras # Run all tests -pytest tests/ +uv run pytest tests/ ``` **Parallel test execution (recommended):** ```bash # Run tests in parallel using all available CPU cores -pytest tests/ -n auto +uv run pytest tests/ -n auto # Run with specific number of workers -pytest tests/ -n 4 +uv run pytest tests/ -n 4 ``` **Note on parallel execution:** The test suite is currently small (~78 tests, <1s execution time), so parallel execution overhead may result in longer wall-clock time compared to sequential execution. However, pytest-xdist is included for: @@ -154,13 +154,13 @@ pytest tests/ -n 4 For active development with frequent test runs: ```bash # Run tests sequentially (faster for small test suites) -pytest tests/ -v +uv run pytest tests/ -v # Run specific test file -pytest tests/test_security.py -v +uv run pytest tests/test_security.py -v # Run tests matching pattern -pytest tests/ -k "test_validation" -v +uv run pytest tests/ -k "test_validation" -v ``` ## Release Process @@ -170,7 +170,7 @@ This project uses manual releases via GitHub Releases. To create a new release: 1. **Ensure all changes are tested and merged to `main`** ```bash # Verify tests pass - pytest tests/ + uv run pytest tests/ # Verify security scans pass bandit -r main.py -ll @@ -209,6 +209,14 @@ This project uses manual releases via GitHub Releases. To create a new release: ## CI/CD & Dependency Caching +### CI/CD Workflows + +| Workflow | File | Trigger | Purpose | +|---|---|---|---| +| **Sync** | `sync.yml` | Daily at 02:00 UTC, manual dispatch | Main synchronization workflow — runs `main.py` to keep Control D folders in sync | +| **Bandit** | `bandit.yml` | Push/PR to `main`, weekly schedule | Security vulnerability scanning for Python code | +| **Codacy** | `codacy.yml` | Push/PR to `main`, weekly schedule | Code quality analysis and SARIF upload to GitHub Security tab | + ### How Caching Works The GitHub Actions workflows use automatic dependency caching to speed up CI runs: