Skip to content

Commit e05363a

Browse files
authored
Merge pull request #281 from MagicRB/fix-lacking-step-names
Fix missing information in build names
2 parents f850017 + 4b6a812 commit e05363a

File tree

4 files changed

+33
-6
lines changed

4 files changed

+33
-6
lines changed

buildbot_nix/__init__.py

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ class BuildbotNixError(Exception):
7070
class BuildTrigger(buildstep.ShellMixin, steps.BuildStep):
7171
"""Dynamic trigger that creates a build for every attribute."""
7272

73+
project: GitProject
7374
successful_jobs: list[NixEvalJobSuccess]
7475
failed_jobs: list[NixEvalJobError]
7576
combined_build: bool
@@ -108,6 +109,7 @@ def __iter__(self) -> Generator[Any, None, None]:
108109

109110
def __init__(
110111
self,
112+
project: GitProject,
111113
builds_scheduler: str,
112114
skipped_builds_scheduler: str,
113115
failed_eval_scheduler: str,
@@ -118,6 +120,7 @@ def __init__(
118120
combine_builds: bool,
119121
**kwargs: Any,
120122
) -> None:
123+
self.project = project
121124
self.successful_jobs = successful_jobs
122125
self.failed_jobs = failed_jobs
123126
self.combine_builds = combine_builds
@@ -167,11 +170,13 @@ def get_scheduler_by_name(self, name: str) -> BaseScheduler:
167170
@staticmethod
168171
def set_common_properties(
169172
props: Properties,
173+
project: Project,
170174
source: str,
171175
job: NixEvalJob,
172176
) -> Properties:
173-
props.setProperty("virtual_builder_name", f".#checks.{job.attr}", source)
174-
props.setProperty("status_name", f"nix-build .#checks.{job.attr}", source)
177+
name = f"{project.nix_ref_type}:{project.name}#checks.{job.attr}"
178+
props.setProperty("virtual_builder_name", name, source)
179+
props.setProperty("status_name", f"nix-build {name}", source)
175180
props.setProperty("virtual_builder_tags", "", source)
176181
props.setProperty("attr", job.attr, source)
177182

@@ -180,7 +185,9 @@ def set_common_properties(
180185
def schedule_eval_failure(self, job: NixEvalJobError) -> tuple[str, Properties]:
181186
source = "nix-eval-nix"
182187

183-
props = BuildTrigger.set_common_properties(Properties(), source, job)
188+
props = BuildTrigger.set_common_properties(
189+
Properties(), self.project, source, job
190+
)
184191
props.setProperty("error", job.error, source)
185192

186193
return (self.failed_eval_scheduler, props)
@@ -190,7 +197,9 @@ def schedule_cached_failure(
190197
) -> tuple[str, Properties]:
191198
source = "nix-eval-nix"
192199

193-
props = BuildTrigger.set_common_properties(Properties(), source, job)
200+
props = BuildTrigger.set_common_properties(
201+
Properties(), self.project, source, job
202+
)
194203
props.setProperty("first_failure", str(first_failure), source)
195204

196205
return (self.cached_failure_scheduler, props)
@@ -202,7 +211,9 @@ def schedule_dependency_failed(
202211
) -> tuple[str, Properties]:
203212
source = "nix-eval-nix"
204213

205-
props = BuildTrigger.set_common_properties(Properties(), source, job)
214+
props = BuildTrigger.set_common_properties(
215+
Properties(), self.project, source, job
216+
)
206217
props.setProperty("dependency.attr", dependency.attr, source)
207218

208219
return (self.dependency_failed_scheduler, props)
@@ -218,7 +229,9 @@ def schedule_success(
218229
system = job.system
219230
out_path = job.outputs["out"] or None
220231

221-
props = BuildTrigger.set_common_properties(Properties(), source, job)
232+
props = BuildTrigger.set_common_properties(
233+
Properties(), self.project, source, job
234+
)
222235
props.setProperty("system", system, source)
223236
props.setProperty("drv_path", drv_path, source)
224237
props.setProperty("out_path", out_path, source)
@@ -659,6 +672,7 @@ def run(self) -> Generator[Any, object, Any]:
659672
self.build.addStepsAfterCurrentStep(
660673
[
661674
BuildTrigger(
675+
project=self.project,
662676
builds_scheduler=f"{self.project.project_id}-nix-build",
663677
skipped_builds_scheduler=f"{self.project.project_id}-nix-skipped-build",
664678
failed_eval_scheduler=f"{self.project.project_id}-nix-failed-eval",

buildbot_nix/gitea_projects.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,10 @@ def pretty_type(self) -> str:
7070
def type(self) -> str:
7171
return "gitea"
7272

73+
@property
74+
def nix_ref_type(self) -> str:
75+
return "gitea"
76+
7377
@property
7478
def repo(self) -> str:
7579
return self.data.name

buildbot_nix/github_projects.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -743,6 +743,10 @@ def url(self) -> str:
743743
def project_id(self) -> str:
744744
return slugify_project_name(self.data.full_name)
745745

746+
@property
747+
def nix_ref_type(self) -> str:
748+
return "github"
749+
746750
@property
747751
def default_branch(self) -> str:
748752
return self.data.default_branch

buildbot_nix/projects.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,11 @@ def type(self) -> str:
8181
def repo(self) -> str:
8282
pass
8383

84+
@property
85+
@abstractmethod
86+
def nix_ref_type(self) -> str:
87+
pass
88+
8489
@property
8590
@abstractmethod
8691
def owner(self) -> str:

0 commit comments

Comments
 (0)