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

Reply via email to