curl / Development / Automatic Build HOWTO

Setup Your Machine to Autobuild from git

Get a Fresh Check-out from git

First, run these commands:

  $ mkdir someplacenice
  $ cd someplacenice
  $ git clone https://github.com/curl/curl.git
  $ ./curl/tests/testcurl.pl

The first time to run testcurl.pl, it'll prompt you for some info (unless you provide that data using command line options). That info is then stored in the file named 'setup' in the current directory and will be used when this script is subsequently run. The format is easily manually edited using a text editor.

You'll now see a full compile, build and test perform. Make sure everything works out fine.

Then, in a cron job do:

 $ cd someplacenice
 $ ./curl/tests/testcurl.pl | mail -s "autobuild" curl-autocompile@haxx.se

Note: It is important that you do include the word 'autobuild' in the subject of the mail, as mails to this receiver without that word in the subject will mercilessly get sent to /dev/null with no questions asked.

Other platforms than Unix

On Unix/Linux testcurl.pl assumes a GNU-like build with configure; on Win32 the MSVC build is default. The testcurl.pl can now take an option '--target=[your_os]' so you can specify to build targets for other platforms. With this option it should now be very easy to add other autobuilds for platforms not able to use GNU-like build systems.

Build from daily tarballs

If you can't checkout or update the sources from git easily, another approach to automated testing of the latest sources is made by getting the latest daily tarballs automatically instead.

This is easily done with the use of the autocurl shell script, written by Ralph Mitchell.

Make more tests run

The number of tests run on some tests are not the maximum amount, but instead numerous ones are "skipped".

This is because some of the tests require specal conditions that are not enabled everywhere. You can improve this situation by using the configure's --enable-debug option (which enables much more thorough memory and netrc debugging) and to make sure that you have stunnel installed (which enables HTTPS tests to run).

Build Table Updates

The tables are rebuilt every 20 minutes if there has been a new build log mailed in since the previous table was built.

We automatically remove build logs older than 10 - 12 days to reduce the amount of data and used disk space.


Platforms/Options We Want Tested As Well

If you feel like helping out the project, have a peek here and see what autobuilds we would appreciate to get going!

We have no automatic building/testing on these platforms: