Continuous integration with Hudson (moved): Difference between revisions

From OpenHatch wiki
Content added Content deleted
(Created page with '{{Hacking OpenHatch}}')
 
No edit summary
Line 1: Line 1:
{{Hacking OpenHatch}}
{{Hacking OpenHatch}}

== Overview ==

The OpenHatch code has a suite of tests. It's important that when we deploy the code to the website, the tests all pass.

Hudson is a "continuous integration" tool (read [https://secure.wikimedia.org/wikipedia/en/wiki/Continuous_integration more on Wikipedia]). It wakes up once an hour, checks the git repository for new commits, and runs the test suite.

== Specifics of the OpenHatch setup ==

* Hudson on the web: http://linode2.openhatch.org:8080/

=== Configuration ===

There are three "jobs" in Hudson. Different ones run different suites of tests in the OpenHatch codebase. They include or exclude different Django ''apps'' from the OpenHatch codebase.

* Test the "customs" app
** The tests for the ''customs'' app often go out to the network and can break if the remote servers change their APIs.
* Test the "search" app
** The search tests can take a while to run, so we separate them out.
* Test all apps except customs and search
** This is the catchall that tests the rest of the code.

=== Future work ===

It would be nice if Hudson notified us on IRC when we "break the build" (introduce changes that break tests). [https://openhatch.org/bugs/issue173 Bug filed].

It would be super nice if, whenever there was a commit to Gitorious master that passed all the tests, Hudson automatically deployed it.

Revision as of 17:14, 15 November 2010

This is a page about improving or modifying OpenHatch.

We call that "Hacking OpenHatch," and there is a whole category of pages about that.


Overview

The OpenHatch code has a suite of tests. It's important that when we deploy the code to the website, the tests all pass.

Hudson is a "continuous integration" tool (read more on Wikipedia). It wakes up once an hour, checks the git repository for new commits, and runs the test suite.

Specifics of the OpenHatch setup

Configuration

There are three "jobs" in Hudson. Different ones run different suites of tests in the OpenHatch codebase. They include or exclude different Django apps from the OpenHatch codebase.

  • Test the "customs" app
    • The tests for the customs app often go out to the network and can break if the remote servers change their APIs.
  • Test the "search" app
    • The search tests can take a while to run, so we separate them out.
  • Test all apps except customs and search
    • This is the catchall that tests the rest of the code.

Future work

It would be nice if Hudson notified us on IRC when we "break the build" (introduce changes that break tests). Bug filed.

It would be super nice if, whenever there was a commit to Gitorious master that passed all the tests, Hudson automatically deployed it.