March 2010

Screencast: Python on Hudson (Part 1)

After Hudson got some major publicity at PyCon Atlanta 2010 I haven't been as quick as I would have liked with Python-related posts and tutorials. I use Hudson to build and test a number of pure Python modules and C extensions across numerous Python versions (covering 2.4 - 3.1). For most beginners, or those simply looking to get started with Python on Hudson, starting with my job configurations is too much at once, so instead I wanted to start at the "beginning" so to speak.

The trouble with getting people started with Hudson, given how simple and visual it is to use, is that articles with sample configurations are not particularly useful; a screencast however is a good medium for visually walking somebody through Hudson. The screencast below (also on YouTube) is the first in a series of screencasts I'll be doing, not only for Python on Hudson, but for Hudson overall.

Hudson 1.353 Released

This week's release comes slightly later than usual and is mostly a clean-up of a few bugs. Due to a problem with the Kohsuke's GitHub mirror of Hudson's core, I can't mine the commits for interesting information as per usual so you'll just have to trust that Hudson 1.353 is chock full of good, wholesome bug fixes. If the problem persists next week, I'll find a better way to dig up information on particularly releases that doesn't depend on the GitHub mirror.


Bugs fixed

  • Tagging a repository can result in NPE.
  • Fix possible form submission error when using multiple combobox elements. (issue 6025)
  • Better escaping of test case names in test results pages. (issue 5982)
  • Make radio buttons work in repeatable content, such as a build step. (issue 5028)
  • Fixed the handling of verifying that the POM path entered for Maven projects exists. (issue 4693)

Enhancements

  • Added link to builds in buildTimeTrend (issue 3993)

You can go grab the latest .war file straight from hudson-ci.org or if you're using a native package, use your package manager to upgrade.


Resurgence of Releng

A few weeks ago I passed a job listing that I had found through one of my many Google Alerts for Hudson-related queries to Andrew (abayer), following up on one of those job listings Andrew recently signed an offer to join the nice folks over at Digg to be their resident "build guy." On its own I thought "great for Andrew!" and nothing more, then I saw this thread on reddit which poses the question:

Anyone here a build engineer, or part of the build team? Could you please share your experience?

It seems, to me at least, the notion of "release engineering" is making a come-back, particularly in the aging "Web 2.0" world where companies like Digg, Facebook, Reddit, Twitter, etc are anywhere from five to ten years old. As these companies have aged a couple of important things have happened, their code-base has aged increasing the possibility of bitrot, but they have also expanded in terms of headcount. Start-ups that might have once slighted larger corporations like Oracle, Cisco VMWare and IBM for their burdensome process and longer release schedules now find themselves ensnared with massive code bases, larger development teams and complicated deployments.

This Week in Plugins

I apologize for the lack of posts this week, I've been quite pre-occupied and a quirk in the twipFromSvn.py script prevented the generation of this post's contents earlier; thanks to rpetti it works again!

This week was an interesting week in plugin development, a slight regression in the release of Jabber notifier plugin 1.7 resulted in the rapid release of a 1.8 release by kutzi. The Fitnesse plugin saw multiple releases again this week, along with the Libvirt Slaves plugin which has seen an amazing number of releases since it burst onto the plugin scene two weeks ago.

There were a few new and notable plugins released this week such as the iPhoneView plugin which adds a fancy view to make checking Hudson all that prettier on an iPhone or iPod Touch, the cross-platform shell plugin was released, aiming to solve the problem of running a job on both Windows and Unix slaves. My favorite new plugin release this week has to be the Gerrit plugin which made its debut and shows a lot of potential to enable the "pre-tested commit" workflow with Git and Gerrit

Links for 2010-03-23

While I work on some screencasts and start to get more "Spotlight" interviews lined up, I figured it's time for a link roll-up for your Tuesday morning reading.


Hudson 1.352 Released

After an exciting week that saw the rushed release of Hudson 1.351 on Monday following a fairly serious regression, Hudson 1.352 was released mid-Friday with a good mix bug fixes and enhancements. Bundled with this release was another localizations drop including translations for ca, es, fi, fr, hi_IN, it, nl, ru, and sv_SE locales. In addition to the nice fancy new community contributed translations, which you can help with by installing the Translation Assistance plugin, the 1.352 release includes the subtle enhancement of hyperlinking URLs in the console output.

In general, 1.352 is looking like a very solid release, that said, here's the breakdown for this release:

Bugs fixed

  • Fixed a file handle leak when a copy fails. (issue 5899)
  • Replace '>' with '_' in username, as already done for '<'. (issue 5833)
  • Fix editableComboBox to select item when mouse click takes more than 100ms. (issue 2722)
  • Fixed NPE when configuring a view without "Regular expression".
  • Page shouldn't scroll up when the user opens/closes a stack trace in the test failure report.
  • Fixed a bug where Hudson can put a wrong help file link. (report)
  • Fixed Maven site goal archiving from slaves. (issue 5943)
  • Fixed a regression with NetBeans Hudson plugin progressive console output. (issue 5941)
  • Fixed a situation where a failure in plugin start up can prevent massive number of job loss.


Enhancements

  • Supported JBoss EAP 5.0.0 GA. (issue 5922)
  • CLI commands on protected Hudson now asks a password interactively, if run on Java6.
  • Added CLI 'login' and 'logout' commands so that you don't have to specify a credential for individual CLI invocation.
  • URLs in the console output are now hyperlinks.
  • Improved the URL annotation logic.
  • Add drag&drop support for f:repeatable lists and use this for the JDK/Ant/Maven installations in global config so these can be reordered.
  • Integrated a new round of community-contributed localizations (ca, es, fi, fr, hi_IN, it, nl, ru, and sv_SE locales.)

Recap of Hackathon Part One

Kohsuke just posted a brief write-up on his personal blog about the first day of the Bay Area Hudson hackathon/meetup. He writes:

Total of 9 people came and we had a great time talking about infrastructure issues, possible enhancements, design dicussions, exchanging tips and plugins that they've developed, and otherwise building personal relationships.

A number of folks joined us on the #Hudson IRC channel on Freenode and the WebEx conference, participating remotely. Since day one was primarily intended for hacking on Hudson itself, we're expecting more people tomorrow when we'll have a good mix of folks hacking on Hudson, folks hacking with Hudson and plain old folks.

The team, Day One

Get excited and make things

Get excited and make thingsThe day of hackery is upon us! Today is Day One of the Bay Area Hudson hackathon/meetup, the hacking will start at 10am today and continue until 5pm at the Oracle Santa Clara campus in the "library" conference room of SCA7 "Mansion" building. The focus today will be largely on hacking Hudson itself.

Can't attend?

Not everybody lives in the Bay Area, fortunately all of you are on the internets! There's two ways you can participate remotely in the hackathon:

If you're in the Bay Area, but busy at work today, come by for Day Two of the hackathon/meetup tomorrow (Saturday) from 10am to 6pm at Hacker Dojo in Mountain View!


Friday Agenda

Currently there is only one item on the agenda for Friday:

  • Improving Client-Side Code Quality with YUI 3: A Proposal (by: Benjamin Shine)

Image courtesy of blackbeltjones


Update: The WebEx link for today has been corrected.

Links for 2010-03-19

It's been quite a busy week, preparing for the Bay Area Hudson hackathon/meetup which starts today, receiving requests for crazy-awesome Hudson stickers and my day job. Regardless, I've stumbled across a few links to share in this links roll-up.

Looking forward even more interesting things to read next week after the hackathon and meetup here in California.


Slaves building robots

A few weeks ago we covered building Android apps with Hudson thanks to a very informative post by Hugo Visser, ever thought about building Android itself with Hudson? Sony Ericsson apparently has, Continuous Blog reader and Hudson user Christopher Orr sent me this screen shot from his recently purchased Sony Ericsson Xperia X10 mini, notice the "Kernel version" field.

About Me on the X10 Mini



If you've got screen shots or photos spotting Hudson out in the big blue room, drop me an email at tyler at linux dot com