Differences between revisions 4 and 15 (spanning 11 versions)
Revision 4 as of 2014-03-06 08:22:38
Size: 705
Editor: robertwb
Comment:
Revision 15 as of 2015-04-23 19:25:31
Size: 2501
Editor: chapoton
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
{{{
┌─┬──────┐
│░│ ⊙ ʘ │ SageMath patchbot
│░│ │
│░│ ──── │
╘═╧══════╛
}}}
Line 5: Line 12:
 * Install the patchbot using "sage -i patchbot"  * Install the patchbot using '''sage -i patchbot''' (warning: the current spkg in sage is not up-to-date)
Line 7: Line 14:
 * Run the patchbot using "sage -patchbot"  * (2015-04) The latest available version can be installed using '''sage -i http://chapoton.perso.math.cnrs.fr/patchbot-2.3.3.spkg'''
Line 9: Line 16:
I will run forever, as long as it finds a ticket to work on. Tickets are only considered if their authors are trusted.  * Run the patchbot using '''sage -patchbot'''
Line 11: Line 18:
You can run a specific ticket by passing --ticket=N. Several other options are available, see "sage --patchbot --help" 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.

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).
Line 15: Line 34:
The base patchbot configuration can be found at https://github.com/robertwb/sage-patchbot/blob/master/src/patchbot.py#L232 . All of these settings can be overridden by passing a --config file which is treated as a json overlay on these defaults. 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.

┌─┬──────┐
│░│ ⊙  ʘ │        SageMath patchbot
│░│      │
│░│ ──── │
╘═╧══════╛

Running the patchbot

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

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.

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.