Skip to content

X:Dashboard

NicolasRannou edited this page Apr 2, 2012 · 5 revisions

The bleeding edge version of XTK is monitored using a dashboard system showing status, errors and warnings during building and testing. Several machines are set up to build the X toolkit on regular basis, f.e. once every hour or at night.

The underlying dashboard software is CDash and is running at http://cdash.goXTK.com.

An easy and also very appreciated way of contributing to XTK's development is to set up experimental or nightly builds. These builds communicate with the dashboard.

Table of Contents

Overview

XTK uses a python script asbuild system manager:

  $ cd ~/gitroot/XTK/X/utils
  $ ~/gitroot/XTK/X/utils (master@0e79-)$>python build.py -h
    usage: build.py [-h] [-v] [-b] [-s] [-d] [-j] [-t] [-e] [-n] [-c]
    This the XTK build tool
    optional arguments:
      -h, --help          show this help message and exit
      -v, --verbose       More verbose.
      -b, --build         Compile the XTK source code.
      -s, --style         Check the style of the target projects.
      -d, --deps          Generate goog dependencies of the target projects.
      -j, --jsdoc         Generate documentation of the target projects.
      -t, --test          Run all tests in Chrome and Firefox.
      -e, --experimental  Experimental build. Reports to cdash.xtk.org
      -n, --nightly       Nightly build. Reports to cdash.xtk.org
      -c, --continuous    Continuous build. Reports to cdash.xtk.org

Setting Up Experimental Builds

Experimental builds are required to test the code before pushing/merging it back to the master branch. The modified code has to pass all the tests.

To run it manually:

  $ cd ~/gitroot/XTK/X/utils
  $ python build.py -b -t -e

The script doesn't pull any code, just runs the same command and submit the results to CDash as Experimental. With the script:

  $ cd ~/gitroot/XTK/X/utils
  $ ./scripts/pull-build-experimental.sh

Setting Up Nightly Builds

Nightly builds are required to test the code from the master branch every night. The code has to pass all the tests (AGAIN).

To run it manually:

  $ cd ~/gitroot/XTK/X/utils
  $ python build.py -b -t -n

The script pulls code from master, runs the command (python build.py -b -t -n) and submits the results to CDash as Nightly. With the script:

  $ cd ~/gitroot/XTK/X/utils
  $ ./scripts/pull-build-nightly.sh

Setting Up Continuous Builds

Continuous builds are required to track down when a test started to fail. (which commit broke the test and has to be fixed) The code has to pass all the tests (AGAIN AGAIN ;)).

To run it manually:

  $ cd ~/gitroot/XTK/X/utils
  $ python build.py -b -t -c

The script pulls code from master if the hash from the last github commit is different from the local git hash, runs the command (python build.py -b -t -c) and submits the results to CDash as Nightly. With the script:

  $ cd ~/gitroot/XTK/X/utils
  $ ./scripts/pull-build-continuous.sh
Clone this wiki locally