@@ -8,21 +8,31 @@ class Validate:
88
99 def __init__ (self , manifest : str = "manifest.json" ) -> None :
1010 if not os .path .exists (manifest ):
11- raise ValueError (f"manifest.json '{ manifest } ' doesn't exist." )
11+ err = f"manifest.json '{ manifest } ' doesn't exist."
12+ self .set_output ("error" , err )
13+ raise ValueError (err )
1214 self .manifest = manifest
1315
16+ def set_output (self , name , value ):
17+ with open (os .environ ['GITHUB_OUTPUT' ], 'a' ) as fh :
18+ print (f'{ name } ={ value } ' , file = fh )
19+
1420 def run (self ) -> bool :
1521 data : dict = {}
1622 with open (self .manifest ) as f :
1723 data = json .load (f )
1824 for item in data .get ("lists" ):
1925 if item .get ("file" ) and not os .path .exists (item ["file" ]):
20- raise ValueError (f"referenced static file does not exist: '{ item } '" )
26+ err = f"referenced static file does not exist: '{ item } '"
27+ self .set_output ("error" , err )
28+ raise ValueError (err )
2129 elif item .get ("url" ):
2230 resp = requests .request ("GET" , item ["url" ])
2331 resp .raise_for_status ()
2432 if not resp .ok :
25- raise requests .exceptions .HTTPError (f"unable to retrieve file from URL: '{ item ['url' ]} '" )
33+ err = f"unable to retrieve file from URL: '{ item ['url' ]} '"
34+ self .set_output ("error" , err )
35+ raise requests .exceptions .HTTPError (err )
2636
2737
2838if __name__ == "__main__" :
0 commit comments