Skip to content

Commit

Permalink
WIP - add new_failure field to TextLogError and update when we have a…
Browse files Browse the repository at this point in the history
… new failure.
  • Loading branch information
jmaher committed Oct 18, 2024
1 parent d3b59c6 commit 58dc55f
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 0 deletions.
1 change: 1 addition & 0 deletions tests/log_parser/test_tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ def test_create_error_summary(
"line_number",
"counter",
"failure_new_in_rev",
"text_log_error_id",
]
)
for failure_line in bug_suggestions:
Expand Down
2 changes: 2 additions & 0 deletions tests/webapp/api/test_jobs_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -222,12 +222,14 @@ def test_text_log_errors(client, test_job):
"job": 1,
"line": "failure 1",
"line_number": 101,
"new_failure": False,
},
{
"id": 2,
"job": 1,
"line": "failure 2",
"line_number": 102,
"new_failure": False,
},
]

Expand Down
6 changes: 6 additions & 0 deletions treeherder/etl/artifact.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,12 @@ def store_text_log_summary_artifact(job, text_log_summary_artifact):
# classify job as `new failure` - for filtering, etc.
job.failure_classification_id = 6
job.save()
# for every log_errors (TLE object) there is a corresponding bugs/suggestion
for tle in log_errors:
if tle.id == suggestion["text_log_error_id"]:
tle.new_failure = True
tle.save()
break


def store_job_artifacts(artifact_data):
Expand Down
1 change: 1 addition & 0 deletions treeherder/model/error_summary.py
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,7 @@ def bug_suggestions_line(
"line_number": err.line_number,
"counter": counter,
"failure_new_in_rev": failure_new_in_rev,
"text_log_error_id": err.id,
}, line_cache


Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@

from django.db import migrations, models


class Migration(migrations.Migration):
dependencies = [
('model', '0032_rename_failureline_job_guid_repository_failure_lin_job_gui_b67c6d_idx_and_more'),
]

operations = [
migrations.AddField(
model_name='TextLogError',
name='new_failure',
field=models.BooleanField(default=True),
),
]
1 change: 1 addition & 0 deletions treeherder/model/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -1219,6 +1219,7 @@ class TextLogError(models.Model):
job = models.ForeignKey(Job, on_delete=models.CASCADE, related_name="text_log_error", null=True)
line = models.TextField()
line_number = models.PositiveIntegerField()
new_failure = models.BooleanField(default=False)

# TODO delete this field and unique_together once backfill of jobs in TextLogError table has been completed
step = models.ForeignKey(
Expand Down

0 comments on commit 58dc55f

Please sign in to comment.