diff --git a/main.py b/main.py index ae28621..bdd9fe4 100644 --- a/main.py +++ b/main.py @@ -1,23 +1,42 @@ import os import json +import sys +from typing import Optional, Any + + +def load_github_event(event_path: str) -> Optional[Any]: + try: + with open(event_path, "r") as file: + return json.load(file) + except FileNotFoundError: + print(f"❌ Event file not found: {event_path}") + except json.JSONDecodeError as e: + print(f"❌ Failed to parse JSON: {e}") + except Exception as e: + print(f"❌ Unexpected error reading event file: {e}") + return None + def main(): github_event_name = os.getenv("GITHUB_EVENT_NAME") github_event_path = os.getenv("GITHUB_EVENT_PATH") - print(f"Received GitHub event: {github_event_name}") + if not github_event_name: + print("⚠️ GITHUB_EVENT_NAME not set.") + else: + print(f"📦 Received GitHub event: {github_event_name}") if not github_event_path: - print("GITHUB_EVENT_PATH not set, cannot read event data.") - return + print("❌ GITHUB_EVENT_PATH not set. Cannot read event data.") + sys.exit(1) - try: - with open(github_event_path, "r") as file: - event_data = json.load(file) - print("Event JSON Payload:") + event_data = load_github_event(github_event_path) + if event_data is not None: + print("📄 Event JSON Payload:") print(json.dumps(event_data, indent=2)) - except Exception as e: - print(f"Error reading event data: {e}") + else: + sys.exit(1) + if __name__ == "__main__": - main() \ No newline at end of file + main()