Differences between revisions 16 and 89 (spanning 73 versions)
Revision 16 as of 2015-04-23 19:45:39
Size: 2619
Editor: chapoton
Comment:
Revision 89 as of 2017-02-02 17:24:53
Size: 0
Editor: mrennekamp
Comment: move to [[buildbot]]
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
{{{
┌─┬──────┐
│░│ ⊙ ʘ │ SageMath patchbot
│░│ │
│░│ ──── │
╘═╧══════╛
}}}
== Running the patchbot ==

You can let the patchbot choose the tickets it will run on.

 * Install the patchbot using '''sage -i patchbot''' (warning: the current spkg in sage is not up-to-date)

 * (2015-04) The latest available version can be installed using '''sage -i http://chapoton.perso.math.cnrs.fr/patchbot-2.3.3.spkg'''

 * Run the patchbot using '''sage -patchbot'''

It is safer to run the patchbot in an unused sage install.

It will run forever, as long as it finds a ticket to work on. Tickets are only considered if their authors are trusted.

Please consider registering [[buildbot/owners|here]] if you run a patchbot. It is helpful to know whom to contact.

You can run a specific ticket by using '''sage -patchbot --ticket=N''' where N is a ticket number such as 12345.

Several other options are available, see '''sage -patchbot --help'''

'''--skip-base''' will skip the check that the base sage installation is sane.

'''--plugin-only''' will only build and run the plugins but not the tests (much quicker but less useful).

'''--safe-only''' will only test branches that only change files inside the directory "src/sage" (this is the case by default).

== Configuration ==

By default, the patchbot should run without needing to tune its configuration.

You can use a specific configuration file using '''sage -patchbot --config=fullpath/config_file.json'''

For the complete list of configurable entities, see the code of the ''get_config'' function in https://github.com/robertwb/sage-patchbot/blob/master/src/patchbot.py.
The base patchbot configuration can be found there. All of these settings can be overridden by passing a config file which is treated as a json overlay on these defaults.

For example, to let the tickets of user "niceguy" be given some priority, use:

    {"bonus": {"niceguy": 200}}

To give preference to a component you care about, use

    {"bonus": {"combinatorics": 200}}

To avoid the use of ccache, use:

    {"use_ccache": false}

To run only at night, use

    {"time_of_day": "22-7"}

A more complex example of config file could be:

    {"bonus": {"niceguy": 200, "needs_work": -20},
    "use_ccache": false,
    "safe_only": true,
    "skip_base": true}

Note that the booleans must be written with no capital first letter.

The config will be read again between every run, hence it allows live configuration of the patchbot.