(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
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://email@example.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!