I’ve been toying with the idea of creating a virtual machine that’s ready to build mozilla-central out of the box. The original idea I had was that it would be really easy to get new contributors started, and it would allow us to set up finicky things like the hgrc correctly. However, it was pointed out to me that build times in VMs are pretty terrible, which does make it less attractive. However however, I have seen comments from technical people in bugs that they would like to help find regression ranges smaller than 24 hours, but they lack the time to figure out how to set up a build. Is it worth creating a VM for finding regression ranges? I can imagine it being really pleasant to start a VM, run a script, and check back in every 30 minutes to see if the next build is ready for testing. Alternatively, implementing Kyle Huey’s proposed solution would also be a pretty big step to easing those pains.
-
Archives
- September 2018
- February 2017
- October 2015
- December 2013
- February 2013
- December 2012
- November 2012
- September 2012
- August 2012
- April 2012
- March 2012
- January 2012
- October 2011
- September 2011
- August 2011
- July 2011
- June 2011
- May 2011
- April 2011
- March 2011
- April 2010
- March 2010
- February 2010
- January 2010
- December 2008
- July 2008
- February 2008
-
Meta
I would love such a vm.
A usual 24h regression range is in nearly all cases not enough to identify the checkin that regressed a bug.
I had a build environment several times in the last 10 years but i have recently problems to get a working win32 build environment.
khuey approach is also nice but only if you could download the builds and do the regression test manually instead of writing a test.
“and it would allow us to set up finicky things like the hgrc correctly. ”
It might be more useful to make the existing documentation of how to set up a build environment more complete. You can find everything on MDN somewhere, but it takes quite a few pages. You could go about setting up a fresh development environment, and just write down every single step you need to take, including things like hgrc, then make sure they are on the “how to set up your build environment” page somewhere.
Each step isn’t that hard to do, it is just hard to find out what to do. Is what I am saying.
DO EET! (As long as the VM can be loaded into both Xen and VirtualBox)
I would definitely love to have a VM to use to find regression ranges!
We’re starting to do this for webdev projects with Vagrant (vagrantup.com), Puppet, and Virtualbox and it’s very handy. Not the best performance, CPU wise, but very nice to wrap up a sharable machine config in a bow.
If you want to share any notes, let me (or anyone on #webdev) know. Webdev is for sure different than building Firefox, but there are probably some lessons learned that are sharable
Also, the nice thing about Puppet vs writing more detailed documentation is that Puppet is machine-executable rather than human-executable, and therefore much less error prone and more easily repeated
Also also, I’ve started assembling notes on our VM’s here:
https://wiki.mozilla.org/Webdev:DevBoxVMImages
I love the idea. My only problem is that VMs can be horribly large, so the download time might make this untractable.
I’d use it, definitely. As an occasional contributor I find getting a build environment set up to take up most of my contribution time.
Pingback: Dysfunctional Programming » A Firefox regression hunter VM!
Nice title, Dysfunctional Programming » A Firefox dev VM?, I couldn’t refrain from commenting. Exceptionally well written! I wanted to give you thanks for your effort.