Skip to content

Commit 8c4ecce

Browse files
authored
report: Support cases where a push doesn't contain a Linux coverage build (mozilla#373)
1 parent e55bb16 commit 8c4ecce

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

report/firefox_code_coverage/codecoverage.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,7 @@ def is_taskcluster_loaner():
3939

4040
def get_task(branch, revision):
4141
task = get_json(
42-
"https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/gecko.v2.%s.revision.%s.firefox.linux64-ccov-opt"
43-
% (branch, revision)
42+
f"https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/gecko.v2.{branch}.revision.{revision}.firefox.decision"
4443
)
4544
return task["taskId"]
4645

@@ -150,15 +149,19 @@ def get_task_status(task_id):
150149

151150

152151
def download_coverage_artifacts(
153-
build_task_id, suites, platforms, artifacts_path, suites_to_ignore=["talos", "awsy"]
152+
decision_task_id,
153+
suites,
154+
platforms,
155+
artifacts_path,
156+
suites_to_ignore=["talos", "awsy"],
154157
):
155158
try:
156159
os.mkdir(artifacts_path)
157160
except OSError as e:
158161
if e.errno != errno.EEXIST:
159162
raise e
160163

161-
task_data = get_task_details(build_task_id)
164+
task_data = get_task_details(decision_task_id)
162165

163166
# Returns True if the task is a test-related coverage task (build tasks are included).
164167
def _is_test_task(t):

report/tests/test.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def test(self):
3030
self.assertTrue(task_id)
3131

3232
task_data = codecoverage.get_task_details(task_id)
33-
self.assertEqual(task_data["metadata"]["name"], "build-linux64-ccov/opt")
33+
self.assertEqual(task_data["metadata"]["name"], "Gecko Decision Task")
3434

3535
revision = task_data["payload"]["env"]["GECKO_HEAD_REV"]
3636
task_id_2 = codecoverage.get_task("mozilla-central", revision)
@@ -39,7 +39,7 @@ def test(self):
3939
artifacts = codecoverage.get_task_artifacts(task_id)
4040
chosen_artifact = None
4141
for artifact in artifacts:
42-
if artifact["name"] == "public/build/target.txt":
42+
if artifact["name"] == "public/target-tasks.json":
4343
chosen_artifact = artifact
4444
self.assertIsNotNone(chosen_artifact)
4545

@@ -53,8 +53,8 @@ def test(self):
5353
raise e
5454

5555
codecoverage.download_artifact(task_id, chosen_artifact, "ccov-artifacts")
56-
self.assertTrue(os.path.exists("ccov-artifacts/%s_target.txt" % task_id))
57-
os.remove("ccov-artifacts/%s_target.txt" % task_id)
56+
self.assertTrue(os.path.exists("ccov-artifacts/%s_target-tasks.json" % task_id))
57+
os.remove("ccov-artifacts/%s_target-tasks.json" % task_id)
5858

5959
artifact_paths = codecoverage.download_coverage_artifacts(
6060
task_id, "gtest-1proc", None, "ccov-artifacts"

0 commit comments

Comments
 (0)