{"id":184,"date":"2009-06-10T10:29:49","date_gmt":"2009-06-10T17:29:49","guid":{"rendered":"http:\/\/blog.mozilla.org\/axel\/?p=184"},"modified":"2009-06-10T10:29:49","modified_gmt":"2009-06-10T17:29:49","slug":"running-into-builds-just-testing","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/axel\/2009\/06\/10\/running-into-builds-just-testing\/","title":{"rendered":"Running into builds, just testing"},"content":{"rendered":"<p>I&#8217;ve blogged previously on how to <a href=\"http:\/\/blog.mozilla.org\/axel\/2009\/06\/01\/l10n-ecosystem-in-a-fishbowl\/\">set up a staging environment<\/a> to test the l10n build system, but I didn&#8217;t go into any detail on how to actually do builds in that set up. That shall be fixed.<\/p>\n<p>I&#8217;m picking you up at the point where<\/p>\n<p><code>twistd get-pushes -n -t 1 -s l10n_site.settings<\/code><\/p>\n<p>is running stable. You probably want to <code>tail -f twistd.log<\/code> to follow what it&#8217;s doing. This piece is going to watch the hg repositories in <code>stage\/repos<\/code> and feed all the pushes to those into the db. Next is to make sure that you actually get builds.<\/p>\n<p>The first thing you need to do is to configure the <code>l10n-master<\/code> to access the same database as the <code>django-site<\/code>. Just make sure that <code>DATABASE_*<\/code> settings in <code>l10n-master\/settings.py<\/code> and <code>django-site\/l10n_site\/settings.py<\/code> match. The other setting to sync is <code>REPOSITORY_BASE<\/code>, which needs to match in both <code>settings.py<\/code>s. I suggest setting that to an empy dir next to the l10n-master. I wouldn&#8217;t use the <code>stage\/repos<\/code> dir, mostly because I didn&#8217;t test that. Now you set up the master for buildbot, by running <\/p>\n<p><code>buildbot create-master .<\/code><\/p>\n<p>inside the l10n-master clone. Next thing is to create a <code>slave<\/code> dir, which is well put next to the <code>l10n-master<\/code>. Despite what buildbot usually likes, this slave should be on the same machine that the rest is running on.<\/p>\n<p><code>mkdir slave<br \/>\nbuildbot create-slave slave localhost:9021 cs pwd<\/code><\/p>\n<p>So much for the general setup. With the twistd daemon running to get the pushes, you can now switch on the master and the slave, by doing a <code>buildbot start .<\/code> in both dirs. I suggest that you keep a <code>tail -f twistd.log<\/code> running on the master. If you decide to set things up to track the upstream repositories, I start the master, then the slave, and if both are up fine, I start the twistd daemon for get-pushes.<\/p>\n<p>Now let&#8217;s trigger some builds:<\/p>\n<p>Open <code>stage\/workdir\/mozilla\/browser\/locales\/en-US\/file.properties<\/code> in your favorite editor, and do a modification. I suggest to just do a whitespace edit, or to change the value of the existing entity, as that is going to keep your localizations green. Check the change in to the working clone, and then push. The get-pushes output should show that it got a new push, and then on the next cycle, feed the push into the database. You&#8217;ll notice by the output of a hg pull showing up in the log. On the next poll on the l10n-master, builds for all 4 locales should trigger. You should see an update of four builds on <a href=\"http:\/\/localhost:8000\/builds\/waterfall\">the waterfall<\/a>, and 4 locales on the <code>test<\/code> tree on the <a href=\"http:\/\/localhost:8000\/dashboard\/\">local dashboard<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve blogged previously on how to set up a staging environment to test the l10n build system, but I didn&#8217;t go into any detail on how to actually do builds in that set up. That shall be fixed. I&#8217;m picking you up at the point where twistd get-pushes -n -t 1 -s l10n_site.settings is running [&hellip;]<\/p>\n","protected":false},"author":17,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,5],"tags":[153,139,23779,23778],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/axel\/wp-json\/wp\/v2\/posts\/184"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/axel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/axel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/axel\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/axel\/wp-json\/wp\/v2\/comments?post=184"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/axel\/wp-json\/wp\/v2\/posts\/184\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/axel\/wp-json\/wp\/v2\/media?parent=184"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/axel\/wp-json\/wp\/v2\/categories?post=184"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/axel\/wp-json\/wp\/v2\/tags?post=184"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}