Filter your tryserver builds, a bit more easily

(Next in my series of posts designed to make this the most boring blog on p.m.o ;) .)

The new tryserver has the (awesome!) ability to customize builds for each platform, using mozconfig-extra-$platform scripts. For me (and most others?), the common case will be to use the extra files to disable builds for platforms I don’t care about. However, keeping a tryserver-filter patch or patches in my mq, and customizing for each filtered push, didn’t appeal to me. So instead, I wrote a little bash script to automate the process for me.

To use it, download the script linked above to somewhere in your $PATH, then chmod +x tryselect. The script expects you to have an try = ssh://[user]@hg.mozilla.org/try alias in your .hgrc, which you probably already do. Then, change directory to your tree, apply all the patches you want to push, then run tryselect. The script will ask you to list the platforms you want tryserver to build, then confirms those that it will disable. If all goes well, you should see something like the following (which submitted a tryserver job I only wanted built on win32).

$ tryselect
Enter platforms to build, out of android-r7 linux linux64 macosx macosx64 maemo4 maemo5-gtk maemo5-qt win32
win32
Disabling  android-r7  linux  linux64  macosx  macosx64  maemo4  maemo5-gtk  maemo5-qt , is that right? (y/n): y
pushing to ssh://cjones@mozilla.com@hg.mozilla.org/try
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 12 changesets with 1 changes to 27 files
remote: Trying to insert into pushlog.
remote: Please do not interrupt...
remote: Inserted into the pushlog db sucessfully.
now at: 582057-use-createchild

The usual caveat about this script possibly eating your mq and/or your children, and my lack of liability thereof, applies. Enjoy!

Comments (2)

  1. Ben Hearsum wrote::

    Thanks so much for putting this together, this is great!

    Tuesday, August 10, 2010 at 05:29 #
  2. Chris Leary wrote::

    I get a 404 when I go to get the script. :-(

    Thursday, September 9, 2010 at 11:06 #