Development/CMake/DashboardBuilds: Difference between revisions

    From KDE TechBase
    Line 52: Line 52:
    ** CMake >= 2.6.2, >= 2.8.0 is recommended for the Nightly builds (better warning and error reporting)
    ** CMake >= 2.6.2, >= 2.8.0 is recommended for the Nightly builds (better warning and error reporting)
    ** Compiler etc.
    ** Compiler etc.
    ** Subversion client
    ** Qt4 and the other required libraries for building KDE4
    ** Qt4 and the other required libraries for building KDE4
    * Some time to maintain the Nightly build, i.e. to upgrade the required libraries, e.g. Qt4 when necessary, to install new required libraries etc.
    * Some time to maintain the Nightly build, i.e. to upgrade the required libraries, e.g. Qt4 when necessary, to install new required libraries etc.
    How to do it:
    You can set up the Nightly builds yourself, but we have also something prepared to make it really easy. Let's assume you want to contribute a Nightly build for the kdeutils modules. That's how you do it:
    * Checkout KDE/kdesdk/cmake/nightly-support/ from KDE svn. There, in the KDE/ subdirectory is a ctest-script ready to use for each KDE module.
    * Write a shell script which sets the CMAKE_PREFIX_PATH environment variable so that CMake will find everything required and then execute ctest with the KDEUtilsNightly.cmake script. This will look something like the following:
      CMAKE_PREFIX_PATH=/opt/kde-qt:/opt/phonon:/what/ever/else/you/need
      ctest -V -S /where/you/checked/out/KDE/KDEUtilsNightly.cmake,KDE_CTEST_BUILD_SUFFIX=gcc-4.2.3

    Revision as of 00:01, 26 March 2010

    What is a dashboard ?

    A dashboard can show the results of Nightly and Continuous builds of a software package. This includes warnings and errors from the configure and build process as well as the results of the executed tests belonging to the software package. This is not only displayed for one machine, but ideally for all supported operating systems such results are submitted, also with different configurations, e.g. one for a minimal system with most optional features disabled and one for a full featured system.

    For KDE CDash-based dashboards are set up at http://my.cdash.org, a service provided by Kitware. CDash only displays the results, the actual building and testing is done decentral on other machines. When failures occur, like build errors or failed tests, notification emails can be sent by CDash. So by building and testing KDE each day on the supported platforms and collecting the results in a central place, we can make sure that KDE stays compiling and also working on all supported platforms.

    You can help too to increase the quality by setting up a Nightly build and submitting the results to http://my.cdash.org.

    For which modules/packages are there dashboards ?

    Currently there are dashboards set up for all modules of KDE, and one for kdesupport. There are not yet dashboards for extragear and koffice. If you are interested in setting dashboards up for these too, just go to http://my.cdash.org and do it, or ask on the kde-buildsystem mailing list if you have any questions.

    So, here comes the list of currently existing KDE dashboards:

    How to set up a Nightly build

    Setting up a Nightly build and this way contributing to keep KDE working is not hard.

    You need:

    • A computer. It should be running the Nightly build every day, at some time after 20:00 CET (for the Nightly builds the state of the repository at 20:00 CET is used).
    • A KDE development environment installed on this computer, i.e.
      • CMake >= 2.6.2, >= 2.8.0 is recommended for the Nightly builds (better warning and error reporting)
      • Compiler etc.
      • Subversion client
      • Qt4 and the other required libraries for building KDE4
    • Some time to maintain the Nightly build, i.e. to upgrade the required libraries, e.g. Qt4 when necessary, to install new required libraries etc.


    How to do it:

    You can set up the Nightly builds yourself, but we have also something prepared to make it really easy. Let's assume you want to contribute a Nightly build for the kdeutils modules. That's how you do it:

    • Checkout KDE/kdesdk/cmake/nightly-support/ from KDE svn. There, in the KDE/ subdirectory is a ctest-script ready to use for each KDE module.
    • Write a shell script which sets the CMAKE_PREFIX_PATH environment variable so that CMake will find everything required and then execute ctest with the KDEUtilsNightly.cmake script. This will look something like the following:
     CMAKE_PREFIX_PATH=/opt/kde-qt:/opt/phonon:/what/ever/else/you/need
    
     ctest -V -S /where/you/checked/out/KDE/KDEUtilsNightly.cmake,KDE_CTEST_BUILD_SUFFIX=gcc-4.2.3