In this try push the jobs all fail without a specific test, we fail to shut the browser down properly. This means that the artifacts that are output from the test job which contains meta info about the failures is missing. This is sort of an edge case, but we should handle it.
and running this command:
citools push failures try 79c9e45761b0278400fc893b36e44ecc8326c722
an error shows up at the end of the output:
IndexError
list index out of range
at dump_failures.py:25 in update_results
21│ )
22│
23│
24│ def update_results(task):
→ 25│ raw_log_path = [a for a in task.artifacts if a.endswith("raw.log")][0]
26│ raw_log = task.get_artifact(raw_log_path).text
27│ manifests = {}
28│ status = defaultdict(int)
29│ seen = set()
To solve this, I would try to understand a bit about what data dump_failures is looking for and why it is different or missing with the try push (hint: look at the beginning of this issue) - then determine how to check for this edge case and what type of communication if any should be done. For example, if there is no communication but all of the tests are failing, this would lead someone to not trust the tool.
here is a try push: https://treeherder.mozilla.org/jobs?repo=try&revision=79c9e45761b0278400fc893b36e44ecc8326c722
In this try push the jobs all fail without a specific test, we fail to shut the browser down properly. This means that the artifacts that are output from the test job which contains meta info about the failures is missing. This is sort of an edge case, but we should handle it.
and running this command: citools push failures try 79c9e45761b0278400fc893b36e44ecc8326c722
an error shows up at the end of the output: IndexError
list index out of range
at dump_failures.py:25 in update_results 21│ ) 22│ 23│ 24│ def update_results(task): → 25│ raw_log_path = [a for a in task.artifacts if a.endswith("raw.log")][0] 26│ raw_log = task.get_artifact(raw_log_path).text 27│ manifests = {} 28│ status = defaultdict(int) 29│ seen = set()
To solve this, I would try to understand a bit about what data dump_failures is looking for and why it is different or missing with the try push (hint: look at the beginning of this issue) - then determine how to check for this edge case and what type of communication if any should be done. For example, if there is no communication but all of the tests are failing, this would lead someone to not trust the tool.