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: