Hi,
With a lot of help from the folks in ops (special thanks to Rob, Daniel and Ryan), we've gotten the new continuous integration server up and running!
Right now, it's only running Jenkins (PHPUnit), but we should have TestSwarm going in the very near future. The URL for all things testing is now:
http://integration.mediawiki.org
We've had a few bumps in the last ~48 hours in making sure all the tests are consistently passing, but we've ironed out most of the issues by now and I think we can begin relying on its output. The 'mw-jenkinsbot' bot in #mediawiki will continue to report failures and such to IRC for us. I've also created a new Bugzilla component--Wikimedia -> Continuous Integration--so feel free to file bugs if you find issues with the new server (issues with the tests themselves should be filed in MediaWiki -> Unit testing).
Some (lots) of documentation on mw.org is probably out of date now and links will probably need updating, so if you come across any please go ahead and fix them.
Thanks everyone for your help in getting this up and running, and welcome everyone to our glorious new testing future.
-Chad
PS: The CruiseControl instance has been shut down completely (ci.tesla), and the test Jenkins instance (ci2.tesla) will be shut down in a few days when I'm confident we've fixed any remaining issues. Please update any bookmarks you may have.
On Mon, Oct 17, 2011 at 2:31 PM, Chad innocentkiller@gmail.com wrote:
Hi,
With a lot of help from the folks in ops (special thanks to Rob, Daniel and Ryan), we've gotten the new continuous integration server up and running!
Can we please also test the other DB backends, since I know there's been a few times the tests either fail on other DBs, or they erroneously pass on MySQL because it lets you do stupid things.
How does it work? What is it good for? Can we eg. add a task to jenkins which runs php -l on all files?
On Mon, Oct 17, 2011 at 8:54 PM, Platonides Platonides@gmail.com wrote:
How does it work? What is it good for? Can we eg. add a task to jenkins which runs php -l on all files?
It works like CruiseControl did (only nicer). It runs any sort of automated build/testing processes we can script up (using Ant).
I'd also like to run some weekly static analysis tools like phpmd and phploc.
I don't see the use for a php -l test. It'd be slow to run on the whole codebase (and I should just fix the pre-commit hook...again)
-Chad
On 17 October 2011 21:58, Chad innocentkiller@gmail.com wrote:
On Mon, Oct 17, 2011 at 8:54 PM, Platonides Platonides@gmail.com wrote:
How does it work? What is it good for? Can we eg. add a task to jenkins which runs php -l on all files?
It works like CruiseControl did (only nicer). It runs any sort of automated build/testing processes we can script up (using Ant).
I'm curious - we run CC at work (and it's fine). Why Jenkins rather than CC (or any other CI tool)?
- d.
On Mon, Oct 17, 2011 at 9:02 PM, David Gerard dgerard@gmail.com wrote:
On 17 October 2011 21:58, Chad innocentkiller@gmail.com wrote:
On Mon, Oct 17, 2011 at 8:54 PM, Platonides Platonides@gmail.com wrote:
How does it work? What is it good for? Can we eg. add a task to jenkins which runs php -l on all files?
It works like CruiseControl did (only nicer). It runs any sort of automated build/testing processes we can script up (using Ant).
I'm curious - we run CC at work (and it's fine). Why Jenkins rather than CC (or any other CI tool)?
We ran CC for awhile. During the process of building this into a permanent service rather than an ad-hoc VM, I played with Jenkins and found it to be a very good replacement. Couple of reasons:
* It has a large plugin community, and has ready support for PHPunit, SVN and Git. There are also plugins for Bugzilla and Gerrit tie-ins. * It has LDAP integration out of the box -- this was a big selling point * The UI is much cleaner and easier to use * Full log output from each run is available via the UI, making it easier to diagnose problems (rather than having to track down a shell user to pull the server logs) * The logo is a butler
I could go on :)
-Chad
wikitech-l@lists.wikimedia.org