L10n:Dashboard
Here are tips and tricks to edit the l10n dashboard.
The sources for the dashboard are on [1]. The actual web files are in the html directory, the root and fx3beta_code contain helper scripts and code.
There isn't any strict access control for user reps on hg.m.o, so please don't check in changes unless you know that I want you to.
Publishing changes
For how to make changes to the rep on hg, please refer to Mercurial. But here's how you update the live site, I usually do that from the buildmaster account, but if you're in the dashboard group on l10n.m.o, you can do it, too. First, you need a local clone of the rep, I use the one in src/dashboard. Then update the live site from your (unmodified) working copy by doing an
rsync -vur html/ /var/www/default/dashboard/
Please watch out that you have the trailing '/' for html/
, otherwise rsync will create another html dir.
Hooking up a new release dashboard
In order to hook up a new dashboard for a release, say, Beta4, you need to
- create a copy of the previous dashboard code, say
dashboard/html/Firefox3/Beta3
- create a new sign-off spreadsheet, with the same structure as the previous one, but without any entry lines
- adjust the link in index.html to the published google spreadsheet, you find the link by going to the spreadsheet, and then looking at the feed for the sheet, as exhibit feeds on the feed ;-).
- test it locally, it should come up empty, but if you unselect opt-in and productization, you should get the same builds
- remove the static copies of l10n_status.js and tinderbox.json in the new dir
- change the link in index.html to
http://l10n.mozilla.org/buildbot/l10n_status.js
- add your new version to
html/Firefox3/index.html
- remove any back-up files from your editor
- hg add the new dir, hg ci, hg push
- on the l10n server
- publish the new version on the live site
- log-in as buildmaster, and edit the crontab.
- There's a command commented out, adjust the run dir to the new live dir, and uncomment it. Make sure the command is in a single line, nano doesn't do that by default.
Freezing a release dashboard
Once the cut-off time for a release is reached, the corresponding dashboard needs to be frozen, that is, all live data needs to be replaced with static content.
- l10n_status.js
- Simply wget the url above into your working copy, and adjust the link in index.html to not point to buildbot, but just to "l10n_status.js".
- tinderbox.json
- Log in to buildmaster on l10n.mozilla.org, and edit the crontab. Comment out the tinderpox updating line, and make sure that you remove the linebreaks that nano added again. wget the latest copy into your working copy.
Now that we have both version statically, hg add them, hg ci, hg push, and publish the new revision on the live directory.