Skip to content

Feature/ai pr analyser - #474

Open
aravindraju007 wants to merge 3 commits into
BioDynaMo:masterfrom
aravindraju007:feature/ai-pr-analyser
Open

Feature/ai pr analyser#474
aravindraju007 wants to merge 3 commits into
BioDynaMo:masterfrom
aravindraju007:feature/ai-pr-analyser

Conversation

@aravindraju007

Copy link
Copy Markdown

This PR introduces a fully automated, "zero-click" AI Pull Request Analyzer. It evaluates PR size, calculates C++ Cyclomatic Complexity, and utilizes an LLM to generate a comprehensive PDF summary dashboard attached directly to the PR.

To respect the existing CMake build system and repository structure, all Python code is isolated within the tools/ai_pr_analyzer/ directory.

##Architectural Highlights

  • Zero-Click CI/CD: Triggered via .github/workflows/pr_analyzer.yml on pull_request events.
  • Optimized Execution: The GitHub Action runner isolates the Python execution so it does not interfere with the primary C++ CMake builds.
  • Static Analysis: Integrates Python's lizard library for real-time C++ complexity grading.
  • Artifact Delivery: Generates a PDF dashboard using weasyprint and automatically attaches it to the GitHub Actions run as a downloadable artifact.

##Configuration Required for Testing
To allow the GitHub Action to run successfully on this repository, a repository secret must be configured by an administrator:

  1. Navigate to Settings > Secrets and variables > Actions
  2. Add a new repository secret named GEMINI_API_KEY containing the valid API token.

Looking forward to your review and feedback on the implementation!

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