Skip to content

Instantly share code, notes, and snippets.

@rtyler
Created May 28, 2009 18:02
Show Gist options
  • Select an option

  • Save rtyler/119471 to your computer and use it in GitHub Desktop.

Select an option

Save rtyler/119471 to your computer and use it in GitHub Desktop.

Basic Slide Hudson Job(s)

PyUnit-based Jobs

Job Description

Most of the Slide Hudson jobs are actually site-deployments to various internal machines that bootstrap the entire site and then run our PyUnit suite against the site.

  • SCM: Git plugin (polls every minute) configured to be tied to one specific branch currently one job is configured per-branch
  • Build Executes a series of shell scripts that manage the cycling of servers, Apache, etc
  • Unit Tests A custom PyUnit test harness aggregates test reports into a single JUnit compatible test report
  • Notifications Email and Jabber notifications are emitted per-build (depending on change)

Execution Details

The majority of our standard (non-Windmill) jobs execute in roughly 15-20 minutes a piece. Performing a full site rebuild and test suite run. The full site rebuild takes only but 5 minutes, while the rest of the time is spent executing hundreds of tests.

Windmill-based Jobs

Job Description

Windmill jobs at Slide tend to involve a number of jobs at once, rather than being isolated. Jobs are divided into parents and children whereas the parent jobs are those that will deploy the site, then will spawn children jobs, which execute on Mac and Windows slaves, that run Windmill and associated Windmill test suites.

  • SCM: none used (typically Windmill jobs are periodic)
  • Build
  • parent: A series of shell scripts to deploy the site
  • child: A "Windmill build step" provided by the Hudson Windmill Plugin
  • Unit Tests
  • parent none used or aggregated
  • child Custom Windmill reporter to generate JUnit XML files
  • Notifications Email and Jabber notifications are emitted per-build (depending on change)

Execution Details

Our Windmill jobs typically execute in between 10 minutes and a whole hour depending on the length of the test suite and the speed at which the browser(s) can execute the commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment