Closed
Bug 1048650
Opened 11 years ago
Closed 9 years ago
Submit mozilla-central Sphinx documentation generation job results to treeherder
Categories
(Firefox Build System :: General, defect)
Firefox Build System
General
Tracking
(firefox51 fixed)
RESOLVED
FIXED
mozilla51
Tracking | Status | |
---|---|---|
firefox51 | --- | fixed |
People
(Reporter: gps, Assigned: gps)
References
Details
Attachments
(1 file)
It's my understanding that treeherder was designed to accept job results from <not buildbot>. If so, we have https://ci.mozilla.org/job/mozilla-central-docs/ doing Sphinx documentation generation for mozilla-central. I'd like to have this Jenkins job reflected on treeherder so a) docs bustages are discovered easier b) increase visibility into the existence of the Sphinx docs.
Please let me know what you need to make this happen.
Assignee | ||
Comment 1•11 years ago
|
||
I'm not sure how treeherder requests like this get triaged. Needinfo on edmorley to provide that.
Flags: needinfo?(emorley)
Comment 2•11 years ago
|
||
The main priority at the moment is fixing the items that are preventing the sheriffs (and other devs) from moving from TBPL to treeherder. Until that point, populating treeherder with additional data sources is likely on the back burner.
That said, since in the treeherder-world results are posted to the treeherder-service, rather than being polled via explicit treeherder support, I imagine most of the work will be on the jenkins side, and as such something you could do outside of the treeherder-devs workload. Needinfo'ing jeads since he'll be able to explain more.
Flags: needinfo?(emorley) → needinfo?(jeads)
Comment 3•11 years ago
|
||
Not entirely sure I understand the request here. But if you want to associate documentation with a particular Jenkins job in treeherder you can do that with a job artifact https://github.com/mozilla/treeherder-client#job-artifacts-format. There's a special artifact called the "Job Info" that allows you to associate any number of url's with a particular job from any build/test system. These urls are displayed in the job info panel in the UI when a job is selected, so you can include links to whatever build/test job documentation you require.
{
"blob": {
"job_details": [
{
"url": "https://www.mozilla.org",
"value": "website",
"content_type": "link",
"title": "Mozilla home page"
},
{
"value": "bar",
"content_type": "text",
"title": "Foo"
},
{
"value": "This is <strong>cool</strong>",
"content_type": "raw_html",
"title": "Cool title"
}
],
},
"type": "json",
"name": "Job Info"
}
Flags: needinfo?(jeads)
Comment 4•11 years ago
|
||
(In reply to Jonathan Eads ( :jeads ) from comment #3)
> Not entirely sure I understand the request here. But if you want to
> associate documentation with a particular Jenkins job in treeherder
gps wishes to submit results for externally run jobs to treeherder, so that the jobs can appear next to the appropriate gecko revision on mozilla-central. These jobs happen to generate gecko build documentation, but we don't need to add URLs to the docs as artefacts - we just want the results of these externally scheduled jobs to appear on treeherder.
Could you outline the steps gps will need to perform to achieve this? :-)
Flags: needinfo?(jeads)
Comment 5•11 years ago
|
||
This sounds very similar to what Dave Hunt is doing for bug 1043718.
I think this is a way to do it:
1- fetch from the treeherder api a revision hash that identifies your result set (aka push) given a revision. The url to fetch would look like https://treeherder.mozilla.org/api/project/mozilla-inbound/revision-lookup/?revision=b17cad2d1e5e
2- compute a unique identifier for your job (job guid)
3- use the treeherder client to submit a job object to treeherder.
Depending on where you want to show your job in the UI, you need to provide some properties for the job, like platform & option (to show it in the right row) and job type/group (to set the position within the row ). I guess in your case you will have a completely new platform for your docs jobs. I suggest you to start hacking on it using the vagrant setup provided with treeherder-service.
Assignee | ||
Comment 7•11 years ago
|
||
This is all helpful!
I'm totally OK with abusing the Linux64 Opt platform for reporting docs if others are :)
We already use Vagrant from Jenkins to generate the docs and we have a virtualenv for running Sphinx. So hooking up the treeherder client Python package is totally doable.
Only remaining question is authentication. How is the Treeherder API authenticated? I wonder how we'll protect the secret key on ci.mozilla.org...
Comment 8•11 years ago
|
||
Treeherder service implements 2-legged oauth, so we need to provide you with a key/secret pair. The client library will take care of everything, you just have to pass the credentials when creating the TreeherderRequest object. To keep the oauth credentials, can you store it safely as environment variables or somewhere on filesystem?
Updated•11 years ago
|
Priority: -- → P4
Updated•11 years ago
|
Summary: Add Sphinx documentation generation job results to treeherder → Data submission: Add mozilla-central Sphinx documentation generation job results to treeherder
Comment 9•10 years ago
|
||
(In reply to Jonathan Eads ( :jeads ) from comment #3)
est job documentation you require.
>
> {
>
> "blob": {
> "job_details": [
> {
> "url": "https://www.mozilla.org",
> "value": "website",
> "content_type": "link",
> "title": "Mozilla home page"
> },
> {
> "value": "bar",
> "content_type": "text",
> "title": "Foo"
Please note that though the documentation in https://github.com/mozilla/treeherder-client/blob/master/README.md says "text" is an available content type, only link, raw_html and TalosResult are actually supported in ://github.com/mozilla/treeherder-ui/blob/performance-data/webapp/app/plugins/pluginpanel.html#L162
I can't find a bug on that. Has that been fixed on a branch and not merged to master?
> },
> {
> "value": "This is <strong>cool</strong>",
> "content_type": "raw_html",
> "title": "Cool title"
> }
> ],
> },
> "type": "json",
> "name": "Job Info"
> }
Comment 10•10 years ago
|
||
The "text" content type falls in the default case in the switch at this line
https://github.com/mozilla/treeherder-ui/blob/performance-data/webapp/app/plugins/pluginpanel.html#L182
For now there is no special treatment in the ui for text other than escaping all the html content. But I like the idea of having it explicitly declared in the artifact, maybe one day another downstream application will make good use of it.
Comment 11•10 years ago
|
||
Moving this bug to build config, since unless Treeherder bugs are unearthed, most of the work here needs to be done as part of the Jenkins CI config and not in treeherder.
No longer blocks: 1072676
Component: Treeherder → Build Config
Priority: P4 → --
Product: Tree Management → Core
Whiteboard: [treeherder]
Version: unspecified → Trunk
Updated•10 years ago
|
Summary: Data submission: Add mozilla-central Sphinx documentation generation job results to treeherder → Submit mozilla-central Sphinx documentation generation job results to treeherder
Updated•10 years ago
|
Whiteboard: [treeherder]
Assignee | ||
Comment 12•9 years ago
|
||
This is made much easier with the Task Cluster work in bug 1245953.
Depends on: 1245953
Assignee | ||
Updated•9 years ago
|
Assignee: nobody → gps
Status: NEW → ASSIGNED
Comment hidden (mozreview-request) |
Comment 14•9 years ago
|
||
mozreview-review |
Comment on attachment 8781368 [details]
Bug 1048650 - TaskCluster task for Sphinx documentation generation;
https://reviewboard.mozilla.org/r/71812/#review69608
::: taskcluster/ci/legacy/tasks/tests/sphinx.yml:40
(Diff revision 1)
> + artifacts:
> + 'public/docs.tar.gz':
> + type: file
> + path: '/home/worker/checkouts/gecko/docs.tar.gz'
> + expires:
> + relative-datestamp: '1 year'
Is the artifact necessary? Isn't this just to make sure the docs build?
Comment 15•9 years ago
|
||
mozreview-review |
Comment on attachment 8781368 [details]
Bug 1048650 - TaskCluster task for Sphinx documentation generation;
https://reviewboard.mozilla.org/r/71812/#review69610
Attachment #8781368 -
Flags: review?(dustin) → review+
Assignee | ||
Comment 16•9 years ago
|
||
mozreview-review-reply |
Comment on attachment 8781368 [details]
Bug 1048650 - TaskCluster task for Sphinx documentation generation;
https://reviewboard.mozilla.org/r/71812/#review69608
> Is the artifact necessary? Isn't this just to make sure the docs build?
There have been a few people over the years that have wanted to re-host the docs. MDN comes to mind. See bug 920314. Providing the artifact unblocks this from happening.
Comment 17•9 years ago
|
||
Pushed by gszorc@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/f5e13a9a2e36
TaskCluster task for Sphinx documentation generation; r=dustin
Comment 18•9 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
status-firefox51:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla51
Updated•7 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•