Difference between revisions of "Education ClassRoom/Previous Logs/tinderboxes"

From Apache OpenOffice Wiki
Jump to: navigation, search
Line 95: Line 95:
  
 
[11:21]  <cloph> The only buildslave that makes use of that status is the Mac PPC buildslave to indicate when it had to rebuild i18npool multiple times or similar (non-reproducible build failures that can be overcome by just rebuilding the affected modules, a rather special szenario, only affecting the PPC)
 
[11:21]  <cloph> The only buildslave that makes use of that status is the Mac PPC buildslave to indicate when it had to rebuild i18npool multiple times or similar (non-reproducible build failures that can be overcome by just rebuilding the affected modules, a rather special szenario, only affecting the PPC)
 +
 +
[11:22]  <cloph> I guess "greeen" and "red" are self-explanatory. The dirty status can be set thanks to bonsai integration. That way tindebox knows when commits have been performed after a build was started. So it knows that the results (while valid for the code that was built), doesn't reflect the current status of the cws anymore.
 +
 +
[11:24]  <cloph> The grey status is mainly introduced for the buildbot buildslaves, that don't manage their buildqueue themselves, but are told what to
 +
build. That way they can say: "sorry man, I don't want to build that stuff". Mainly because a buid-breaker is known already, or the buildslave just only wants to build newer milestones and not old cruft..
 +
 +
[11:25]  <cloph> <flip/> I already mentioned that Tinderbox is using EIS - the same is true the other way round. EIS uses tinderbox as well, it can show the
 +
tinderbox status in the EIS overview pages.
 +
 +
[11:26]  <cloph> Unfortunately the default view when browsing to a EIS-CWS page is "overview", and that doesn't show the tinderbox info, but that can be
 +
configured by the user (but of course is not possible when just using the "guest" login for convenience
 +
 +
[11:27]  <cloph> <flip/> So far, I only talked about the overview pages, those don't offer that much info as opposed to the real per-cws status pages.
 +
 +
[11:27]  * ericb2 always clicks "All" button 
 +
 +
[11:27]  <cloph> Again there is a cross-reference to EIS (the link at the very top will bring you to the corresponding EIS page).
 +
 +
[11:27]  * cloph has the default (when logged in) set to Tinderbox :-D
 +
 +
[11:29]  <cloph> The status page is structured in a table view. At the left you see a time column, next to it a  "guilty" column, and after that the columns for
 +
the individual buildslaves (be it real tinderboxes like the Fedora and Mac ones in the example, or buildbots like the O3-build and Win-XP2 ones).
 +
 +
[11:30]  <cloph> The "Guilty" column lists commits, you can have a look at http://tinderbox.go-oo.org/aquavcl08/status.html for example, that lists the
 +
latest commit by ericb2 to the cws
 +
 +
[11:30]  <cloph> That info comes from Bonsai.
 +
 +
[11:30]  <cloph> You can use either the commit-entry in the "guilty" column or the timeline to query bonsai for what exactly was committed.
 +
 +
[11:32]  <ericb2> good idea to link with Bonsai
 +
 +
[11:32]  <cloph> I basically only query bonsai by passing by the tinderbox page of the cws, since that way I don't have to fill in the query form manually,
 +
and usually I'm only interested in the commits after the last successful build, the tinderbox pages makes that easier (IMHO)
 +
 +
[11:33]  <cloph> The header of the buildslave column show some info about the buildlsave, like when the cws was built last, what the average buildtime is
 +
(actually mean, not average), how long a current build will still run
 +
 +
[11:33]  <cloph> see e.g. http://tinderbox.go-oo.org/iconupdate300u1/status.html

Revision as of 09:34, 19 May 2008

[10:59] <cloph> Hi *

[10:59] <chacha_chaudhry> cloph: hi

[10:59] <cloph> I uploaded my slides - link is on the agenda-page, or go straight to http://muenchen-surf.de/lohmaier/misc/

[10:59] * lgodard (n=lgodard@AGrenoble-152-1-65-106.w86-193.abo.wanadoo.fr) has joined #education.openoffice.org

[10:59] <ericb2> cloph: FYI, vincent vikram informed me there is a firewall, and some of his students will read the log afterwards

[10:59] <cloph> Not many people here yet... :-) but getting more apparently...

[11:00] <ericb2> cloph: and they will ask using mail or mailing lists

[11:00] <ericb2> cloph: even IRC is difficult at some places

[11:00] <chacha_chaudhry> cloph: yes it is ... at some universities

[11:02] <cloph> Just shout "Go" when I should start/when you got the slides :-)

[11:03] <ericb2> cloph: thanks for your slides

[11:03] <ericb2> as .pdf : http://muenchen-surf.de/lohmaier/misc/All_about_Tinderbox.pdf

[11:03] <ericb2> as .odp : http://muenchen-surf.de/lohmaier/misc/All_about_Tinderbox.odp

[11:03] <ericb2> cloph: we are ready :) you can start when you want

[11:03] <chacha_chaudhry> cloph: Go

[11:03] <chacha_chaudhry> :)

[11:04] <cloph> OK then - as you already read the agenda, you know what this talk is about: Tinderbox :-)

[11:05] <cloph> You can see how the talk will proceed on the contents slide - but as you can read faster than I can type, I'll not read it to you :-) <flip/>

[11:05] <cloph> If you have questions in the meantime, don't hesitate to interrupt me, feel free to ask without rising your hand first

[11:06] <cloph> The question: "What is tinderbox?" can be answered fairly easily: It is a system that collects build stati from various sources and displays those in a hopefully clear and eady to understand way.

[11:07] <cloph> This is the basic task that tinderbox has. To reach that goal, it has other features, like integration with bonsai (or other tools).

[11:07] <chacha_chaudhry> sources means ? -- various platforms or OS?

[11:07] <cloph> In that case it means both.

[11:08] <cloph> There are multiple clients that build the code, those clients run on different OS/Platforms, have a different build-setup and build different cws

[11:09] <cloph> So while there might be two builders that run linux, one can use Sun's JDK, the other can use gcj, or one can use gcc 3.4, the other gcc 4.3 - that sometimes can make a big difference.

[11:10] <cloph> For those who don't know what bonsai is: Bonsai is a tool that collects commit-information, it is a more advanced "CVS viewer" - it allows you to query for commits in a given period of time, or associated with a specific tag or file.

[11:10] * ericb2 suggests to read : http://wiki.services.openoffice.org/wiki/Education_ClassRoom/Practice#Bonsai_use

[11:11] <cloph> Not OOo developed tinderbox, it merely modified Mozilla's tinderbox2 (rather slightly modifications only). Mozilla is a great project when it comes to such stuff (think of Bugzilla and stuff)

[11:11] <cloph> Ah, great :-)

[11:11] <cloph> <flip/> So how's tinderbox used within the OpenOffice.org project?

[11:12] <cloph> Tinderbox provides overview pages of the results, grouped per status of a CWS (more on that later)

[11:13] <cloph> It is a fast way to check: "Will a problematic cws soon hit the Master" (that's how I use those pages at least :-)) - besides those overview pages, it also has status pages for the indivdual cws, that shows more info (also more on that later)

[11:14] <cloph> Tinderbox is also integrated with EIS, in a way that it gets the tag-list (the list of CWS, what milestone they're based on and what cws modules they include) from EIS via SOAP, and queries cvs directly to get hold of the latest milestones.

[11:15] <cloph> Some of you might also heard of buildbot or termite already - this is a related tool, that also is meant to provide a way to automatically build code on different buildslaves

[11:16] <cloph> In OOo, both real tinderboxslaves as well as (some of) the buildbots report the build status to tinderbox. From a tinderbox point of view, it doesn't matter what system build the code, it doesn't make a difference there.

[11:17] <cloph> <flip/>Pictures say more than a thousand words, so just have a look at some of the example (in case you could resist the urge to click on one of the URLs :-)

[11:18] <cloph> The first one shows the overview page that shows the cws in nominated state, as you see, all is green (or yellow). Green is good :-)

[11:18] <cloph> <flip/>as another example a few cws in the new state. You see some are red. Red is bad :-(

[11:18] <cloph> In case you wondered what the other colors mean: <flip/>

[11:19] <cloph> OOo uses the following: There is a "success" status, a "test failed" status (orange), a "build failed" status, a "currently building" status, a "dirty" status and a "fold" status.

[11:20] * ericb2 discovering the real sense of Orange color :)

[11:20] <cloph> The test failed status is maybe a little misleading, as it currently is not used as to indicate some tests failed or not (sorry ericb2 :-)

[11:20] <ericb2> cloph: np

[11:21] <cloph> The only buildslave that makes use of that status is the Mac PPC buildslave to indicate when it had to rebuild i18npool multiple times or similar (non-reproducible build failures that can be overcome by just rebuilding the affected modules, a rather special szenario, only affecting the PPC)

[11:22] <cloph> I guess "greeen" and "red" are self-explanatory. The dirty status can be set thanks to bonsai integration. That way tindebox knows when commits have been performed after a build was started. So it knows that the results (while valid for the code that was built), doesn't reflect the current status of the cws anymore.

[11:24] <cloph> The grey status is mainly introduced for the buildbot buildslaves, that don't manage their buildqueue themselves, but are told what to build. That way they can say: "sorry man, I don't want to build that stuff". Mainly because a buid-breaker is known already, or the buildslave just only wants to build newer milestones and not old cruft..

[11:25] <cloph> <flip/> I already mentioned that Tinderbox is using EIS - the same is true the other way round. EIS uses tinderbox as well, it can show the tinderbox status in the EIS overview pages.

[11:26] <cloph> Unfortunately the default view when browsing to a EIS-CWS page is "overview", and that doesn't show the tinderbox info, but that can be configured by the user (but of course is not possible when just using the "guest" login for convenience

[11:27] <cloph> <flip/> So far, I only talked about the overview pages, those don't offer that much info as opposed to the real per-cws status pages.

[11:27] * ericb2 always clicks "All" button

[11:27] <cloph> Again there is a cross-reference to EIS (the link at the very top will bring you to the corresponding EIS page).

[11:27] * cloph has the default (when logged in) set to Tinderbox :-D

[11:29] <cloph> The status page is structured in a table view. At the left you see a time column, next to it a "guilty" column, and after that the columns for the individual buildslaves (be it real tinderboxes like the Fedora and Mac ones in the example, or buildbots like the O3-build and Win-XP2 ones).

[11:30] <cloph> The "Guilty" column lists commits, you can have a look at http://tinderbox.go-oo.org/aquavcl08/status.html for example, that lists the latest commit by ericb2 to the cws

[11:30] <cloph> That info comes from Bonsai.

[11:30] <cloph> You can use either the commit-entry in the "guilty" column or the timeline to query bonsai for what exactly was committed.

[11:32] <ericb2> good idea to link with Bonsai

[11:32] <cloph> I basically only query bonsai by passing by the tinderbox page of the cws, since that way I don't have to fill in the query form manually, and usually I'm only interested in the commits after the last successful build, the tinderbox pages makes that easier (IMHO)

[11:33] <cloph> The header of the buildslave column show some info about the buildlsave, like when the cws was built last, what the average buildtime is (actually mean, not average), how long a current build will still run

[11:33] <cloph> see e.g. http://tinderbox.go-oo.org/iconupdate300u1/status.html

Personal tools