@@ -74,17 +74,22 @@ def ensure_codeflash_api_key() -> bool:
7474
7575@lru_cache (maxsize = 1 )
7676def get_pr_number () -> Optional [int ]:
77+ event_data = get_cached_gh_event_data ()
78+ pr_number = event_data .get ("number" )
79+ if pr_number :
80+ return int (pr_number )
81+
7782 pr_number = os .environ .get ("CODEFLASH_PR_NUMBER" )
78- if not pr_number :
79- return None
80- return int ( pr_number )
83+ if pr_number :
84+ return int ( pr_number )
85+ return None
8186
8287
8388def ensure_pr_number () -> bool :
8489 if not get_pr_number ():
8590 msg = (
86- "CODEFLASH_PR_NUMBER not found in environment variables; make sure the Github Action is setting this so "
87- "Codeflash can comment on the right PR"
91+ "Codeflash couldn't detect your pull request number. Are you running Codeflash within a GitHub Action? "
92+ "If not, please set the CODEFLASH_PR_NUMBER environment variable to ensure Codeflash can comment on the correct PR. "
8893 )
8994 raise OSError (msg )
9095 return True
@@ -96,22 +101,19 @@ def is_end_to_end() -> bool:
96101
97102
98103@lru_cache (maxsize = 1 )
99- def is_repo_a_fork () -> bool :
100- event = get_cached_gh_event_data ()
101- if event is None :
102- return False
103- return bool (event ["repository" ]["fork" ])
104-
105-
106- @lru_cache (maxsize = 1 )
107- def get_cached_gh_event_data () -> dict [str , Any ] | None :
104+ def get_cached_gh_event_data () -> dict [str , Any ]:
108105 event_path = os .getenv ("GITHUB_EVENT_PATH" )
109106 if not event_path :
110- return None
107+ return {}
111108 with Path (event_path ).open () as f :
112109 return json .load (f ) # type: ignore # noqa
113110
114111
112+ def is_repo_a_fork () -> bool :
113+ event = get_cached_gh_event_data ()
114+ return bool (event .get ("repository" , {}).get ("fork" , False ))
115+
116+
115117@lru_cache (maxsize = 1 )
116118def is_ci () -> bool :
117119 """Check if running in a CI environment."""
@@ -125,14 +127,5 @@ def is_LSP_enabled() -> bool:
125127
126128def is_pr_draft () -> bool :
127129 """Check if the PR is draft. in the github action context."""
128- try :
129- event_path = os .getenv ("GITHUB_EVENT_PATH" )
130- pr_number = get_pr_number ()
131- if pr_number is not None and event_path :
132- with Path (event_path ).open () as f :
133- event_data = json .load (f )
134- return bool (event_data ["pull_request" ]["draft" ])
135- return False # noqa
136- except Exception as e :
137- logger .warning (f"Error checking if PR is draft: { e } " )
138- return False
130+ event = get_cached_gh_event_data ()
131+ return bool (event .get ("pull_request" , {}).get ("draft" , False ))
0 commit comments