Skip to content

ci: add comprehensive CI/CD pipeline with security scanning, linting, and deployment automation#38

Open
szj2ys wants to merge 2 commits intoBIT-DataLab:mainfrom
szj2ys:T0-cicd-active
Open

ci: add comprehensive CI/CD pipeline with security scanning, linting, and deployment automation#38
szj2ys wants to merge 2 commits intoBIT-DataLab:mainfrom
szj2ys:T0-cicd-active

Conversation

@szj2ys
Copy link

@szj2ys szj2ys commented Mar 14, 2026

Summary

This PR introduces a comprehensive CI/CD pipeline for the Edit-Banana project, establishing automated testing, security scanning, code quality checks, and deployment workflows.

Changes

  • GitHub Actions Workflow (.github/workflows/ci.yml): 7-job pipeline covering:

    • Security scanning with Bandit and Safety
    • Code quality checks (Black, isort, Flake8, mypy)
    • Multi-version Python testing (3.10, 3.11, 3.12) with pytest and coverage reporting
    • Build verification with Docker image build
    • Automated deployment to staging (develop branch) and production (main branch)
    • Slack notifications for pipeline failures
  • pyproject.toml: Unified configuration for Python tools:

    • Black (formatting), isort (import sorting)
    • mypy (type checking)
    • pytest and coverage (testing)
  • .flake8: Consistent linting rules (120 char line length, standard exclusions)

Test Plan

  • CI workflow syntax validated
  • All tool configurations tested locally
  • Pipeline execution verified on PR

Related Issues

Part of Phase 0 infrastructure improvements.

jeff and others added 2 commits March 14, 2026 21:40
- Add CI workflow for web app (Node.js 20, lint, build)
- Add CI workflow for API (Python 3.11, pytest)
- Add PR template for consistent PR descriptions
… and deployment automation

- Add GitHub Actions workflow with 7 jobs: security-scan, lint, test, build,
  deploy-staging, deploy-production, and notify
- Integrate Bandit and Safety for security vulnerability scanning
- Configure Black, isort, Flake8, and mypy for code quality
- Set up multi-version Python testing (3.10, 3.11, 3.12) with pytest coverage
- Add deployment automation for staging (develop branch) and production (main)
- Include Slack notifications for pipeline failures
- Create pyproject.toml with tool configurations (Black, isort, mypy, pytest, coverage)
- Add .flake8 configuration for consistent linting rules

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant