Skip to content

Commit 0a7280b

Browse files
marco-cLa0
authored andcommitted
events: Return the first coverage task we find in the task group (#353)
1 parent 52e2e05 commit 0a7280b

File tree

2 files changed

+12
-16
lines changed

2 files changed

+12
-16
lines changed

events/code_coverage_events/workflow.py

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,9 @@ async def run(self):
5757
)
5858

5959
def is_coverage_task(self, task):
60-
name = task["task"]["metadata"]["name"]
61-
return name.startswith("build-") and "ccov" in name.split("/")[0].split("-")
60+
return "ccov" in task["task"]["metadata"]["name"].split("/")[0].split("-")
6261

63-
async def get_build_task_in_group(self, group_id):
62+
async def get_coverage_task_in_group(self, group_id):
6463
if group_id in self.triggered_groups:
6564
logger.info(
6665
"Received duplicated groupResolved notification", group=group_id
@@ -118,11 +117,11 @@ async def parse(self, body):
118117
)
119118
return None
120119

121-
build_task = await self.get_build_task_in_group(taskGroupId)
122-
if build_task is None:
120+
coverage_task = await self.get_coverage_task_in_group(taskGroupId)
121+
if coverage_task is None:
123122
return None
124123

125-
repository = build_task["task"]["payload"]["env"]["GECKO_HEAD_REPOSITORY"]
124+
repository = coverage_task["task"]["payload"]["env"]["GECKO_HEAD_REPOSITORY"]
126125

127126
if repository not in [
128127
"https://hg.mozilla.org/mozilla-central",
@@ -134,19 +133,16 @@ async def parse(self, body):
134133
)
135134
return None
136135

136+
revision = coverage_task["task"]["payload"]["env"]["GECKO_HEAD_REV"]
137+
137138
logger.info(
138139
"Received groupResolved notification for coverage builds",
139140
repository=repository,
140-
revision=build_task["task"]["payload"]["env"]["GECKO_HEAD_REV"],
141+
revision=revision,
141142
group=taskGroupId,
142143
)
143144

144-
return [
145-
{
146-
"REPOSITORY": repository,
147-
"REVISION": build_task["task"]["payload"]["env"]["GECKO_HEAD_REV"],
148-
}
149-
]
145+
return [{"REPOSITORY": repository, "REVISION": revision}]
150146

151147

152148
class Events(object):

events/tests/test_workflow.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,20 +29,20 @@ def test_is_coverage_task(mock_taskcluster):
2929
assert hook.is_coverage_task(cov_task)
3030

3131
nocov_task = {"task": {"metadata": {"name": "test-linux64-ccov/opt-mochitest-1"}}}
32-
assert not hook.is_coverage_task(nocov_task)
32+
assert hook.is_coverage_task(nocov_task)
3333

3434
nocov_task = {"task": {"metadata": {"name": "test-linux64/opt-mochitest-1"}}}
3535
assert not hook.is_coverage_task(nocov_task)
3636

3737

3838
@pytest.mark.asyncio
39-
async def test_get_build_task_in_group(mock_taskcluster):
39+
async def test_get_coverage_task_in_group(mock_taskcluster):
4040
bus = MessageBus()
4141
hook = CodeCoverage("services-staging-codecoverage/bot", "project-test", bus)
4242

4343
hook.triggered_groups.add("already-triggered-group")
4444

45-
assert await hook.get_build_task_in_group("already-triggered-group") is None
45+
assert await hook.get_coverage_task_in_group("already-triggered-group") is None
4646

4747

4848
@pytest.mark.asyncio

0 commit comments

Comments
 (0)