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)
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 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)
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.