diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e08920f..3bf29fd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,7 +4,6 @@ on: push: branches: - main - - develop pull_request: branches: - main diff --git a/CICD.md b/CICD.md deleted file mode 100644 index 6f01dc0..0000000 --- a/CICD.md +++ /dev/null @@ -1,91 +0,0 @@ -# CI/CD Documentation - -## Pre-commit Hooks - -Pre-commit hooks automatically check and fix code quality issues before commits. - -### Installation - -```bash -pip install pre-commit -pre-commit install -``` - -### Manual Execution - -```bash -# Run all hooks on changed files -pre-commit run - -# Run all hooks on all files -pre-commit run --all-files - -# Run a specific hook -pre-commit run black --all-files -pre-commit run flake8 --all-files -``` - -### Hooks Configured - -- **trailing-whitespace**: Remove trailing whitespace -- **end-of-file-fixer**: Ensure files end with newline -- **check-yaml**: Validate YAML syntax -- **check-json**: Validate JSON syntax -- **check-added-large-files**: Prevent large files (>1MB) -- **check-case-conflict**: Detect case conflicts -- **mixed-line-ending**: Fix mixed line endings -- **black**: Format Python code -- **isort**: Sort imports -- **flake8**: Lint Python code (max 100 chars/line) -- **bandit**: Security checks -- **yamllint**: Lint YAML files - -## GitHub Actions CI/CD - -### Workflow: Task Manager CI/CD - -**Triggers:** -- Push to `main` or `develop` branches -- Pull requests to `main` branch - -**Jobs:** - -#### 1. **Lint & Format Check** -- Checks black formatting -- Checks isort import order -- Runs flake8 linting -- Runs bandit security checks - -#### 2. **Run Tests** -- Depends on lint job passing -- Installs dependencies from `backend/requirements.txt` -- Runs pytest with coverage -- Requires tests in `backend/tests/` (optional) - -#### 3. **Security Scan** -- Runs Trivy vulnerability scanner on filesystem -- Uploads results to GitHub Security tab - -### Quick Fix - -To automatically fix formatting issues locally: - -```bash -black backend/ -isort backend/ -``` - -## Configuration Files - -- **.pre-commit-config.yaml**: Pre-commit hooks configuration -- **setup.cfg**: isort, flake8, and pytest configuration -- **.flake8**: Flake8 linting rules -- **.bandit**: Bandit security configuration -- **.github/workflows/ci.yml**: GitHub Actions workflow - -## Development Workflow - -1. **Local Development**: Use pre-commit hooks to catch issues early -2. **Commit**: Pre-commit hooks run before commit -3. **Push**: GitHub Actions runs lint, test, and security checks -4. **PR**: Review status checks before merge