|
|
|
|
|
|
|
from lib.code_reviewer import CodeReviewer, ReviewManager
|
|
import os
|
|
import glob
|
|
|
|
|
|
GITHUB_REPO_URL = "https://github.com/vsagar100/ansible_tf_provisioner"
|
|
GITHUB_BRANCH = "main"
|
|
GITHUB_TOKEN = os.getenv("GITHUB_TOKEN")
|
|
|
|
def main():
|
|
|
|
|
|
download_directory = "downloaded_repo"
|
|
|
|
output_directory = "output_reviews"
|
|
|
|
|
|
os.makedirs(download_directory, exist_ok=True)
|
|
os.makedirs(output_directory, exist_ok=True)
|
|
|
|
|
|
code_reviewer = CodeReviewer()
|
|
review_manager = ReviewManager(reviewer=code_reviewer)
|
|
|
|
|
|
review_manager.download_repo(GITHUB_REPO_URL, GITHUB_BRANCH, GITHUB_TOKEN, download_directory)
|
|
|
|
|
|
yaml_files = glob.glob(os.path.join(download_directory, "**", "*.yml"), recursive=True)
|
|
yaml_files += glob.glob(os.path.join(download_directory, "**", "*.yaml"), recursive=True)
|
|
|
|
|
|
reviews = review_manager.process_files(yaml_files)
|
|
|
|
|
|
output_json_path = os.path.join(output_directory, "code_review_results.json")
|
|
review_manager.save_reviews_to_json(reviews, output_json_path)
|
|
print(f"Reviews saved to {output_json_path}")
|
|
|
|
if __name__ == "__main__":
|
|
main()
|
|
|