#include "_doctype.html" cURL - Automatic Build HOWTO #include "css.t" #define DEVEL_BUILDSTATS #include "_menu.html" #include "setup.t" WHERE2(Development, "/dev/", Automatic Build HOWTO) TITLE(Setup Your Machine to Autobuild from git) #include "setup.t" SUBTITLE(Get a Fresh Check-out from git)

First, run these commands:

  $ mkdir someplacenice
  $ cd someplacenice
  $ git clone git://github.com/bagder/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. #if 0

If mailing the info is not suitable for you, but you have a working curl version installed, you can upload the file with curl self:

 $ ./curl/tests/testcurl.pl | curl -s -F file=@- http://curl.haxx.se/dev/upload.cgi

You can also use this upload form "manually". #endif SUBTITLE(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. SUBTITLE(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 automaticly instead.

This is easily done with the use of the autocurl shell script, written by Ralph Mitchell. SUBTITLE(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). SUBTITLE(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.


SUBTITLE(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:

#include "_footer.html"