Skip to content

Commit cfc6f7f

Browse files
committed
Emit statuses for effects
1 parent ccaecb0 commit cfc6f7f

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

buildbot_nix/buildbot_nix/__init__.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,21 @@ def __init__(
9999
**kwargs,
100100
)
101101

102+
async def run(self) -> int: # type: ignore[override]
103+
if self.build:
104+
await CombinedBuildEvent.produce_event_for_build(
105+
self.master, CombinedBuildEvent.STARTED_NIX_EFFECTS, self.build, None
106+
)
107+
108+
results = await super().run()
109+
110+
if self.build:
111+
await CombinedBuildEvent.produce_event_for_build(
112+
self.master, CombinedBuildEvent.FINISHED_NIX_EFFECTS, self.build, None
113+
)
114+
115+
return results
116+
102117
def createTriggerProperties(self, props: Any) -> Any: # noqa: N802
103118
return props
104119

buildbot_nix/buildbot_nix/nix_status_generator.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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(
@@ -88,6 +90,8 @@ class BuildNixEvalStatusGenerator(BuildStatusGeneratorMixin):
8890
("builds", None, str(CombinedBuildEvent.FINISHED_NIX_EVAL.name)),
8991
("builds", None, str(CombinedBuildEvent.STARTED_NIX_BUILD.name)),
9092
("builds", None, str(CombinedBuildEvent.FINISHED_NIX_BUILD.name)),
93+
("builds", None, str(CombinedBuildEvent.STARTED_NIX_EFFECTS.name)),
94+
("builds", None, str(CombinedBuildEvent.FINISHED_NIX_EFFECTS.name)),
9195
("buildrequests", None, str(CombinedBuildEvent.STARTED_NIX_BUILD.name)),
9296
("buildrequests", None, str(CombinedBuildEvent.FINISHED_NIX_BUILD.name)),
9397
]
@@ -223,6 +227,14 @@ async def generate(
223227
"nix-build",
224228
"generator",
225229
)
230+
case (
231+
CombinedBuildEvent.STARTED_NIX_EFFECTS
232+
| CombinedBuildEvent.FINISHED_NIX_EFFECTS
233+
):
234+
report["builds"][0]["properties"]["status_name"] = (
235+
"nix-effects",
236+
"generator",
237+
)
226238
case _:
227239
msg = f"Unexpected event: {event_typed}"
228240
raise ValueError(msg)
@@ -231,6 +243,7 @@ async def generate(
231243
case (
232244
CombinedBuildEvent.FINISHED_NIX_EVAL
233245
| CombinedBuildEvent.FINISHED_NIX_BUILD
246+
| CombinedBuildEvent.FINISHED_NIX_EFFECTS
234247
):
235248
report["builds"][0]["complete"] = True
236249
report["builds"][0]["complete_at"] = datetime.now(tz=UTC)

0 commit comments

Comments
 (0)