Merge pull request #487 from Codium-ai/ok/gh_actions_fix

Add utility function to handle boolean type conversion
This commit is contained in:
Ori Kotek
2023-11-29 10:38:39 +02:00
committed by GitHub

View File

@ -1,6 +1,7 @@
import asyncio import asyncio
import json import json
import os import os
from typing import Union
from pr_agent.agent.pr_agent import PRAgent from pr_agent.agent.pr_agent import PRAgent
from pr_agent.config_loader import get_settings from pr_agent.config_loader import get_settings
@ -12,6 +13,14 @@ from pr_agent.tools.pr_description import PRDescription
from pr_agent.tools.pr_reviewer import PRReviewer from pr_agent.tools.pr_reviewer import PRReviewer
def is_true(value: Union[str, bool]) -> bool:
if isinstance(value, bool):
return value
if isinstance(value, str):
return value.lower() == 'true'
return False
async def run_action(): async def run_action():
# Get environment variables # Get environment variables
GITHUB_EVENT_NAME = os.environ.get('GITHUB_EVENT_NAME') GITHUB_EVENT_NAME = os.environ.get('GITHUB_EVENT_NAME')
@ -66,13 +75,13 @@ async def run_action():
pr_url = event_payload.get("pull_request", {}).get("url") pr_url = event_payload.get("pull_request", {}).get("url")
if pr_url: if pr_url:
auto_review = get_settings().get('GITHUB_ACTION.AUTO_REVIEW', None) auto_review = get_settings().get('GITHUB_ACTION.AUTO_REVIEW', None)
if auto_review is None or (isinstance(auto_review, str) and auto_review.lower() == 'true'): if auto_review is None or is_true(auto_review):
await PRReviewer(pr_url).run() await PRReviewer(pr_url).run()
auto_describe = get_settings().get('GITHUB_ACTION.AUTO_DESCRIBE', None) auto_describe = get_settings().get('GITHUB_ACTION.AUTO_DESCRIBE', None)
if isinstance(auto_describe, str) and auto_describe.lower() == 'true': if is_true(auto_describe):
await PRDescription(pr_url).run() await PRDescription(pr_url).run()
auto_improve = get_settings().get('GITHUB_ACTION.AUTO_IMPROVE', None) auto_improve = get_settings().get('GITHUB_ACTION.AUTO_IMPROVE', None)
if isinstance(auto_improve, str) and auto_improve.lower() == 'true': if is_true(auto_improve):
await PRCodeSuggestions(pr_url).run() await PRCodeSuggestions(pr_url).run()
# Handle issue comment event # Handle issue comment event