Closed Bug 1476878 Opened 6 years ago Closed 5 years ago

Add git-cinnabar automation to treeherder

Categories

(Tree Management :: Treeherder: Data Ingestion, enhancement, P5)

enhancement

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: glandium, Unassigned)

Details

As far as I can tell, this entails:
- Adding something to treeherder/model/fixtures/repository.json on https://github.com/mozilla/treeherder
- Adding tc-treeherder.v2.glandium/git-cinnabar.$sha.$push_id routes to the taskcluster tasks.
- Adding some other extra metadata to the taskcluster tasks for categories and whatnot.

And I think that would be about it.

What I'm not clear about is:
- what should $push_id be in the routes. Maybe it's not necessary for github? But I couldn't find any other repo using the combination of github, taskcluster and treeherder to validate.
- How to integrate things on treeherder. I have two working branches, `release` and `master`. Ideally, I'd like a separate treeherder view for each, although I could live with one that mixes both. Separately, I have a `next` branch that I use as some sort of `try`, and pull requests, that I would like to have on treeherder too. Ideally, I'd like any branch that is not `release` or `master` to be treated the same as pull requests, but I guess this is not possible?
The docs we have for this are here:
https://treeherder.readthedocs.io/submitting_data.html#add-github-repo

That said, for smaller projects Treeherder isn't always the most appropriate tool for CI. Would TravisCI/CircleCI/having Taskcluster update GitHub statuses/add GitHub PR comments be more suitable?
I have between 25 and 85 jobs running on a given push. The taskcluster task view for that is not exactly great for that, and the presentation of taskcluster results on github is also left to be desired. Treeherder is actually much nicer.
Ah more jobs than I expected! Agree Treeherder seems suitable for this case then.

At the moment there doesn't seem to be anything for the Treeherder team to do in this bug -- there's the docs link in comment 3, then if you could open a PR to add the repo that would be great.
Component: Treeherder → Treeherder: Data Ingestion
The link in comment 1 only mentions the first item in comment 0 without more details, and that doesn't answer any of the questions in comment 0.
(In reply to Mike Hommey [:glandium] from comment #0)
> - what should $push_id be in the routes

No idea, this is something the taskcluster team might know

> - How to integrate things on treeherder. I have two working branches,
> `release` and `master`. Ideally, I'd like a separate treeherder view for
> each, although I could live with one that mixes both. 

Before BMO switched from Treeherder to CircleCI, they used this approach:
https://github.com/mozilla/treeherder/blob/0ed2aa61d63aa30b029a62038ef74532cee6e144/treeherder/model/fixtures/repository.json#L772-L785
https://github.com/mozilla/treeherder/blob/0ed2aa61d63aa30b029a62038ef74532cee6e144/treeherder/model/fixtures/repository.json#L854-L867

> Separately, I have a
> `next` branch that I use as some sort of `try`, and pull requests, that I
> would like to have on treeherder too. Ideally, I'd like any branch that is
> not `release` or `master` to be treated the same as pull requests, but I
> guess this is not possible?

These are the properties Treeherder uses from the payload from taskcluster-treeherder:
https://github.com/mozilla/treeherder/blob/0ed2aa61d63aa30b029a62038ef74532cee6e144/treeherder/etl/job_loader.py#L49-L52
https://github.com/mozilla/treeherder/blob/0ed2aa61d63aa30b029a62038ef74532cee6e144/treeherder/etl/push_loader.py#L71-L75

...so if you can construct a taskcluster taski configuration that can make those groups of jobs fake those attributes to match the desired `treeherder/model/fixtures/repository.json` entry, then I guess it might be possible?
Priority: -- → P5

This bug isn't actionable from our side at the moment.

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.