-
Notifications
You must be signed in to change notification settings - Fork 351
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bug 1863187 - Add job description to the job info, and also add full job description tab. #7868
base: master
Are you sure you want to change the base?
Conversation
Here's screenshot with this patch applied. the data is ingested from https://treeherder.mozilla.org/jobs?repo=try&revision=929752a9757906c2775bb3981268d758ff34c71d&searchStr=spidermonkey%2Cplain&selectedTaskRun=Zfq9gthfTYCFBoUSQPdC8A.0 |
Another concern is that the |
it turns out there's |
@@ -167,6 +169,7 @@ class TabsPanel extends React.Component { | |||
) : ( | |||
<Tab disabled>Test Groups</Tab> | |||
)} | |||
<Tab>Full Description</Tab> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: to save UI space, can we make this Description
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have an 'Artifacts and Debugging' tab and this is about debugging. The artifacts list can get long but putting the instructions how to run the task locally above the artifacts if preferable. (If the instructions are below, the might be missed. The same applies to the artifacts, maybe there should be a first line which tells users to scroll down for artifacts?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what's existing "Debugging Tools" ?
if there's no "debugging" right now, could we make the existing tab "Artifacts", and add "Debugging" as separate tab?
treeherder/model/models.py
Outdated
@@ -558,6 +571,9 @@ class Job(models.Model): | |||
machine = models.ForeignKey(Machine, on_delete=models.CASCADE) | |||
option_collection_hash = models.CharField(max_length=64) | |||
job_type = models.ForeignKey(JobType, on_delete=models.CASCADE, related_name='jobs') | |||
job_desc = models.ForeignKey( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The job description information is only needed when a job gets selected. The information about the job type is also used in that view.
The job description should be a column of the job_type
table. This means we only store the data for a few thousand rows and not for many millions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is the scenario of the description getting updated in one tree or e.g. try.
Recommendation:
- If there is no job description for the task, store it independent of tree.
- If there is a job description and the task is central or autoland, update it.
- No action for other cases.
This could also be tracked by a job_type.id
+ repository.id
key.
treeherder/webapp/api/serializers.py
Outdated
@@ -69,6 +69,8 @@ def to_representation(self, job): | |||
'job_type_id': job.job_type_id, | |||
'job_type_name': job.job_type.name, | |||
'job_type_symbol': job.job_type.symbol, | |||
'job_desc_id': job.job_desc_id, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This data seems unused by the frontend.
When all jobs which use the |
thank you all for reviewing! |
For this PR, I'll rework it to handle single-line |
So far prepared a patch to add job description in the job info, based on #7869 |
for https://bugzilla.mozilla.org/show_bug.cgi?id=1863187
Added 2 feature:
description
field in the source YAML filedescription
field in the source YAML fileThis modifies the database in the following way:
job_desc
table is addeddescription
field across multiple jobsjob_desc_id
column is added tojob
tablejob_desc
table's idjob_desc
tableThe job's
description
field is retrieved via the pulse'sjobInfo.summary
property, that seems to be the result of the following.https://searchfox.org/mozilla-central/rev/02841791400cf7cf5760c0cfaf31f5d772624253/taskcluster/gecko_taskgraph/transforms/task.py#2004
It contains the concatenation of the job's
description
field and the treeherder job link.job_loader drops the treehreder job link part and uses it as description.
if there's better way to get the raw
description
field, let me know.Concern:
job_desc
table will store alldescription
values, and whenever thedescription
is modified (such as, adding more info "how to run locally", URL of documents, etc), a new row is added, and the old row is kept around