Hey,
I have set up a continuous integration server for Lucene.Net. The url is
http://teamcity.codebetter.com/project.html?projectId=project56. The
server builds the trunk release configuration of the Lucene.Net project,
the demo projects, and the test project. It also runs all the tests.
At the time of writing, there are 41 failing tests, many of which is due
to the lack of compression support. Is that a bug in the code, or is
compression support required for those tests to pass? The way the build
server works is that the source code is downloaded from trunk and built
automatically as is. To enable compression support, SHARP_ZIP_LIB has to
be defined and the SharpLibZip assembly has to be referenced. The define
can be added as a parameter to the msbuild process. However, I'm not
quite sure how to configure the server to add the assembly reference to
the project file without any manual steps.
Now that the continuous integration server is set up, every time a
commit is made, it automatically downloads the changes, builds the
projects, and runs the tests. That way it is easy to see if the changes
breaks the build in any way, either by causing the compilation or one or
more tests to fail. It's possible to configure the server to
automatically send a notification by email, instant messaging, withing
Visual Studio, or to a tray application if a build breaks. This
functionality is available for registered users in the "My Settings &
Tools" section.
I hope this will come in handy for some of you. I figured that with the
current status of trunk, with quite a few failing tests, it is nice to
have a place to get the current status without having to build the
project and run all the tests yourself. Also, it's a nice way to check
whether the code actually compiles after a commit. For example, if one
or more files were left out from the commit, it can compile just fine
locally, but once someone else downloads the changes, it fails. This was
actually the case a few days ago when the updated project file was not
committed along with the deleted files.
So, what do you guys think?
- Rune