{"id":439,"date":"2010-03-03T12:10:20","date_gmt":"2010-03-03T20:10:20","guid":{"rendered":"http:\/\/www.visophyte.org\/blog\/?p=439"},"modified":"2010-03-03T12:10:20","modified_gmt":"2010-03-03T20:10:20","slug":"tinderbox-results-in-bugzilla-jetpack-times-2-couchdb-review-board","status":"publish","type":"post","link":"https:\/\/www.visophyte.org\/blog\/2010\/03\/03\/tinderbox-results-in-bugzilla-jetpack-times-2-couchdb-review-board\/","title":{"rendered":"Tinderbox results in bugzilla, jetpack times 2, CouchDB, review board"},"content":{"rendered":"<p><a href=\"http:\/\/markusstange.wordpress.com\/\">mstange<\/a>&#8216;s <a href=\"http:\/\/tests.themasta.com\/tinderboxpushlog\/\">Tinderboxpushlog<\/a> is awesome.\u00a0 You know it, I know it, the many people whose sanity has been saved by it know it.\u00a0 It is a fantastic improvement on checking the tinderbox; it lets you know the current state of the tree, the recent history of the tree, and how these things are correlated with recent commits.\u00a0 What it is not good at (nor intended for) is to be a historical record.\u00a0 Tinderboxpushlog &#8216;scrapes&#8217; the tinderbox on-demand using tinderbox time windows and does not have the ability to key off anything but the time.<\/p>\n<p>So if one refactored the scraper into a CommonJS module suitable for use with the newly rebooted jetpack, hooked it up to a cron job, and crammed its outputinto a CouchDB database, what would you get?<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-440\" title=\"bugzilla-inline\" src=\"http:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2010\/03\/bugzilla-inline.png\" alt=\"\" width=\"708\" height=\"188\" srcset=\"https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2010\/03\/bugzilla-inline.png 708w, https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2010\/03\/bugzilla-inline-600x159.png 600w, https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2010\/03\/bugzilla-inline-300x79.png 300w\" sizes=\"auto, (max-width: 708px) 100vw, 708px\" \/><\/p>\n<p>Exactly, something you can hook up to <a href=\"http:\/\/blog.johnath.com\/\">johnath<\/a> and <a href=\"http:\/\/ehsanakhgari.org\/\">ehsan<\/a>&#8216;s <a href=\"http:\/\/ehsanakhgari.org\/blog\/2010-01-12\/bugzilla-made-even-more-awesome\">magic bugzilla jetpack<\/a> (l<a href=\"http:\/\/www.visophyte.org\/blog\/2010\/02\/13\/review-board-and-bugzilla-reviews-take-3\/\">ast mentioned on the blog here<\/a>).\u00a0 You can <a href=\"https:\/\/hg.mozilla.org\/users\/bugmail_asutherland.org\/opc-johnath-jetpacks\/raw-file\/tip\/bugzilla-tweaks.html\">install it from here<\/a>.\u00a0 (johnath\/ehsan, please feel free to pull the changes into the upstream repo; I&#8217;m still wary of randomly pushing things into other people&#8217;s user repos&#8230;).\u00a0 I know the presentation is ugly, not the least because the text labels are inconsistent with tinderboxpushlog; feel free to push into my user repo with improvements.\u00a0 Oh, and for this to work you need to put an honest-to-goodness URL in your bugzilla comment or attachment description; there is no all-powerful regex if you type things out by hand.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-441\" title=\"bugzilla-attachment\" src=\"http:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2010\/03\/bugzilla-attachment.png\" alt=\"\" width=\"614\" height=\"146\" srcset=\"https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2010\/03\/bugzilla-attachment.png 614w, https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2010\/03\/bugzilla-attachment-600x142.png 600w, https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2010\/03\/bugzilla-attachment-300x71.png 300w\" sizes=\"auto, (max-width: 614px) 100vw, 614px\" \/><\/p>\n<p>You can find the <a href=\"http:\/\/hg.mozilla.org\/users\/bugmail_asutherland.org\/mozbuildstalk\/\">thing that pushes thing into the couch using refactored tinderboxpushlog logic here<\/a>.\u00a0 Some cuddlefish runner tweaks (not all of which are likely advisable) can be found in my <a href=\"http:\/\/hg.mozilla.org\/users\/bugmail_asutherland.org\/opc-jetpack-sdk\/\">user jetpack-sdk repo<\/a>.\u00a0 (The new jetpack reboot is wicked awesome, by the way.)<\/p>\n<p>Right now the cron job is running against the MozillaTry, Firefox, and Thunderbird3.1 trees on the tinderbox every 5 minutes.\u00a0 While it should be pretty easy for me to keep the cron job and couch server online, I make no guarantees about the schema used in the couch, just that I will keep the jetpack in sync with it.\u00a0 And if the service starts exceeding the resources of my (personal) linode, I may have to tweak polling rates or what not (&#8216;what not&#8217; meaning &#8216;up to and including turning it off&#8217;).<\/p>\n<p>There is other work happening in this area and I am excited about that.\u00a0 For example, I think <a href=\"http:\/\/github.com\/mikeal\/brasstacks\">brasstacks<\/a> has an encompassing vision that should help provide historical data about which tests failed, etc.\u00a0 With any luck, my efforts here will be mooted by <a href=\"http:\/\/build.chromium.org\/buildbot\/waterfall\/console\">buildbot and magic awesome<\/a> <a href=\"http:\/\/codereview.chromium.org\/665001\">dust<\/a>.<\/p>\n<p>The mention of reviewboard in the title is just that if you are <a href=\"http:\/\/www.visophyte.org\/blog\/2010\/02\/13\/review-board-and-bugzilla-reviews-take-3\/\">using my review board stuff<\/a> and put a link to your try server commit in the attachment description, we will use that to pull the official hg changeset as the basis for the diff.\u00a0 The main benefit of this is that if your patch depends on other patches in your queue that are not yet in the trunk, the diff will still work out.\u00a0 Specifically, if your queue had A, B, and C applied (where C is the tip) and you link to C, then we will provide a diff of C relative to B.\u00a0 Please be aware that hg.mozilla.org is rather slow about providing the hg changeset diffs on demand so this will be at least an order of magnitude slower than the fetch of an already-available patch from bugzilla.\u00a0 <a href=\"http:\/\/hg.mozilla.org\/users\/bugmail_asutherland.org\/opc-reviewboard\/\">Repo with changes is here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>mstange&#8216;s Tinderboxpushlog is awesome.\u00a0 You know it, I know it, the many people whose sanity has been saved by it know it.\u00a0 It is a fantastic improvement on checking the tinderbox; it lets you know the current state of the &hellip; <a href=\"https:\/\/www.visophyte.org\/blog\/2010\/03\/03\/tinderbox-results-in-bugzilla-jetpack-times-2-couchdb-review-board\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[3],"tags":[34,130,67,35,36],"class_list":["post-439","post","type-post","status-publish","format-standard","hentry","category-mozilla","tag-bugzilla","tag-couchdb","tag-jetpack","tag-review-board","tag-reviews"],"_links":{"self":[{"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/posts\/439","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/comments?post=439"}],"version-history":[{"count":5,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/posts\/439\/revisions"}],"predecessor-version":[{"id":446,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/posts\/439\/revisions\/446"}],"wp:attachment":[{"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/media?parent=439"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/categories?post=439"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/tags?post=439"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}