Closed Bug 1318659 Opened 7 years ago Closed 7 years ago

SETA should be able to determine if jobs are build jobs and not do string matching

Categories

(Tree Management Graveyard :: Treeherder: SETA, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: armenzg, Assigned: rwood)

References

Details

Attachments

(1 file)

Right now SETA add few exceptions based on the name of the jobs.
This has the disadvantage of falling out of date. For example:
> testtype = testtype.replace(' PGO Opt', 'build')
> testtype = testtype.replace(' Valgrind Opt', 'build')
> testtype = testtype.replace(' Artifact Opt', 'build')
> testtype = testtype.replace(' (debug)', 'build')

mozci has functionality to get metadata for a builder or task label to determine if it is a build job or a test job.
We don't necessarily need to use mozci. Adjusting the summary.
Blocks: 1325404
Component: General → Treeherder
Product: Testing → Tree Management
Summary: Add mozci logic to SETA → SETA should be able to determine if jobs are build jobs and not do string matching
Version: unspecified → ---
Component: Treeherder → Treeherder: SETA
Assignee: nobody → rwood
Status: NEW → ASSIGNED
Comment on attachment 8840912 [details]
Bug 1318659 - Don't call SETA for build jobs;

https://reviewboard.mozilla.org/r/115316/#review116752

::: taskcluster/taskgraph/task/transform.py:106
(Diff revision 1)
>                  logger.debug('no files found matching a pattern in `when.files-changed` for ' +
>                               self.label)
>                  return True, None
>  
> +        # no need to call SETA for build jobs
> +        if self.task.get('extra', {}).get('treeherder', {}).get('jobKind', '') == 'build':

nice, are there other kinds we could exclude also, specifically thinking about source-check
Attachment #8840912 - Flags: review?(jmaher) → review+
> nice, are there other kinds we could exclude also, specifically thinking
> about source-check

So this is based on task.extra.treeherder.jobKind, which looks like is either 'build' or 'test' (or none). In the case of source-check, it's:

      "tier": 1,
      "symbol": "ES",
      "jobKind": "test",

So nope can't filter that out here, but at least we can get a tiny optimization of not calling SETA for build jobs. I am hesitant to *only* call SETA if the jobKind == 'test' in case that eliminates some jobs that don't use that key.
what are some of the jobs that have jobKind='' ?  Skipping builds would be nice, it might reduce some of the hardcoded stuff inside of treeherder:seta :)
Ah, it's the buildbot-bridge ones that have an empty jobKind which makes sense because they don't appear on treeherder, the resulting BB task does. So at least with this patch we can skip the 'build' types.
Looks good on try (verified gecko decision task is green)

https://treeherder.mozilla.org/#/jobs?repo=try&revision=97300a766ee6fece4933a01bf47daa3ef0bf4340
Pushed by rwood@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/e773a7aa4335
Don't call SETA for build jobs; r=jmaher
https://hg.mozilla.org/mozilla-central/rev/e773a7aa4335
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Product: Tree Management → Tree Management Graveyard
You need to log in before you can comment on or make changes to this bug.