@@ -29,6 +29,8 @@ class CombinedBuildEvent(Enum):
2929 FINISHED_NIX_EVAL = "finished-nix-eval"
3030 STARTED_NIX_BUILD = "started-nix-build"
3131 FINISHED_NIX_BUILD = "finished-nix-build"
32+ STARTED_NIX_EFFECTS = "started-nix-effects"
33+ FINISHED_NIX_EFFECTS = "finished-nix-effects"
3234
3335 @staticmethod
3436 async def produce_event_for_build_requests_by_id (
@@ -70,26 +72,26 @@ async def produce_event_for_build(
7072 build_db : Any = await master .data .get (("builds" , str (build .buildid )))
7173 if result is not None :
7274 build_db ["results" ] = result
73- master .mq .produce (
74- ("builds" , str (build .buildid ), event .name ), copy .deepcopy (build_db )
75- )
75+ event_key = ("builds" , str (build .buildid ), event .value )
76+ master .mq .produce (event_key , copy .deepcopy (build_db ))
7677 elif isinstance (build , dict ):
7778 if result is not None :
7879 build ["results" ] = result
79- master .mq .produce (
80- ("builds" , str (build ["buildid" ]), event .name ), copy .deepcopy (build )
81- )
80+ event_key = ("builds" , str (build ["buildid" ]), event .value )
81+ master .mq .produce (event_key , copy .deepcopy (build ))
8282
8383
8484@implementer (IReportGenerator )
8585class BuildNixEvalStatusGenerator (BuildStatusGeneratorMixin ):
8686 wanted_event_keys : ClassVar [list [Any ]] = [
87- ("builds" , None , str (CombinedBuildEvent .STARTED_NIX_EVAL .name )),
88- ("builds" , None , str (CombinedBuildEvent .FINISHED_NIX_EVAL .name )),
89- ("builds" , None , str (CombinedBuildEvent .STARTED_NIX_BUILD .name )),
90- ("builds" , None , str (CombinedBuildEvent .FINISHED_NIX_BUILD .name )),
91- ("buildrequests" , None , str (CombinedBuildEvent .STARTED_NIX_BUILD .name )),
92- ("buildrequests" , None , str (CombinedBuildEvent .FINISHED_NIX_BUILD .name )),
87+ ("builds" , None , CombinedBuildEvent .STARTED_NIX_EVAL .value ),
88+ ("builds" , None , CombinedBuildEvent .FINISHED_NIX_EVAL .value ),
89+ ("builds" , None , CombinedBuildEvent .STARTED_NIX_BUILD .value ),
90+ ("builds" , None , CombinedBuildEvent .FINISHED_NIX_BUILD .value ),
91+ ("builds" , None , CombinedBuildEvent .STARTED_NIX_EFFECTS .value ),
92+ ("builds" , None , CombinedBuildEvent .FINISHED_NIX_EFFECTS .value ),
93+ ("buildrequests" , None , CombinedBuildEvent .STARTED_NIX_BUILD .value ),
94+ ("buildrequests" , None , CombinedBuildEvent .FINISHED_NIX_BUILD .value ),
9395 ]
9496
9597 compare_attrs : ClassVar [list [str ]] = ["start_formatter" , "end_formatter" ]
@@ -181,9 +183,14 @@ async def generate(
181183 ) -> None | dict [str , Any ]:
182184 what , _ , event = key
183185 if what == "builds" :
184- is_new = event == "new"
186+ # Check if this is a start event
187+ is_start_event = event in [
188+ CombinedBuildEvent .STARTED_NIX_EVAL .value ,
189+ CombinedBuildEvent .STARTED_NIX_BUILD .value ,
190+ CombinedBuildEvent .STARTED_NIX_EFFECTS .value ,
191+ ]
185192
186- formatter = self .start_formatter if is_new else self .end_formatter
193+ formatter = self .start_formatter if is_start_event else self .end_formatter
187194
188195 await getDetailsForBuild (
189196 master ,
@@ -200,9 +207,8 @@ async def generate(
200207 report : dict [str , Any ] = await self .build_message (
201208 formatter , master , reporter , data
202209 )
203-
204- event_typed : CombinedBuildEvent = CombinedBuildEvent .__members__ [event ]
205- match event_typed :
210+ event_type = CombinedBuildEvent (event )
211+ match event_type :
206212 case (
207213 CombinedBuildEvent .STARTED_NIX_EVAL
208214 | CombinedBuildEvent .FINISHED_NIX_EVAL
@@ -223,14 +229,23 @@ async def generate(
223229 "nix-build" ,
224230 "generator" ,
225231 )
232+ case (
233+ CombinedBuildEvent .STARTED_NIX_EFFECTS
234+ | CombinedBuildEvent .FINISHED_NIX_EFFECTS
235+ ):
236+ report ["builds" ][0 ]["properties" ]["status_name" ] = (
237+ "nix-effects" ,
238+ "generator" ,
239+ )
226240 case _:
227- msg = f"Unexpected event: { event_typed } "
241+ msg = f"Unexpected event: { event_type } "
228242 raise ValueError (msg )
229243
230- match event_typed :
244+ match event_type :
231245 case (
232246 CombinedBuildEvent .FINISHED_NIX_EVAL
233247 | CombinedBuildEvent .FINISHED_NIX_BUILD
248+ | CombinedBuildEvent .FINISHED_NIX_EFFECTS
234249 ):
235250 report ["builds" ][0 ]["complete" ] = True
236251 report ["builds" ][0 ]["complete_at" ] = datetime .now (tz = UTC )
0 commit comments