11#!/usr/bin/env python
22
33from gitpod import Gitpod
4- from utils import get_context_url , get_authenticated_user , get_environment_class_id , get_environment_class , create_environment
5- import time
6- import requests
7-
8- def check_environment_status (client , environment_id ):
9- environment = client .environments .retrieve (environment_id = environment_id ).environment
10- print (f"Environment status: { environment .status .phase } " )
11- if environment .status .phase in ["ENVIRONMENT_PHASE_STOPPING" , "ENVIRONMENT_PHASE_STOPPED" , "ENVIRONMENT_PHASE_DELETING" , "ENVIRONMENT_PHASE_DELETED" ]:
12- raise RuntimeError (f"Environment { environment_id } is in an unexpected phase: { environment .status .phase } " )
13- elif environment .status .failure_message and len (environment .status .failure_message ) > 0 :
14- raise RuntimeError (f"Environment { environment_id } failed: { '; ' .join (environment .status .failure_message )} " )
4+ from utils import get_context_url , get_authenticated_user , get_environment_class_id , get_environment_class , create_environment , check_environment_status , stream_logs
5+ import asyncio
156
167def main () -> None :
178 client : Gitpod = Gitpod ()
@@ -61,7 +52,7 @@ def main() -> None:
6152 )
6253
6354 log_url = None
64- for event in event_stream :
55+ for event in event_stream . _raw_iterator :
6556 print (f"Received event: { event } " )
6657 if event .resource_type == "RESOURCE_TYPE_ENVIRONMENT" and event .resource_id == environment_id :
6758 check_environment_status (client , environment_id )
@@ -78,14 +69,11 @@ def main() -> None:
7869 print (f"Task logs are available at: { log_url } " )
7970
8071 # Stream the log URL and print the logs
81- response = requests .get (log_url , stream = True , headers = {"Authorization" : f"Bearer { logs_access_token } " })
82- for line in response .iter_lines ():
83- if line :
84- print (line .decode ('utf-8' ))
72+ asyncio .run (stream_logs (log_url , logs_access_token ))
8573
8674 finally :
8775 client .environments .delete (environment_id = environment_id )
8876 print (f"Deleted environment: { environment_id } " )
8977
9078if __name__ == "__main__" :
91- main ()
79+ main ()
0 commit comments