Differences between revisions 11 and 14 (spanning 3 versions)
Revision 11 as of 2015-04-22 12:26:32
Size: 1574
Editor: chapoton
Comment:
Revision 14 as of 2015-04-23 18:47:35
Size: 2497
Editor: chapoton
Comment: more doc
Deletions are marked like this. Additions are marked like this.
Line 12: 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)

 * (2015-04) The latest available version can be installed using '''sage -i http://chapoton.perso.math.cnrs.fr/patchbot-2.3.3.spkg'''
Line 16: Line 18:
I will run forever, as long as it finds a ticket to work on. Tickets are only considered if their authors are trusted. 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.
Line 22: Line 26:
(2015-04) The latest available version can be installed using '''sage -i http://chapoton.perso.math.cnrs.fr/patchbot-2.3.3.spkg''' '''--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 26: Line 34:
You can use a specific configuration file using '''sage -patchbot --config=config_file.json''' By default, the patchbot should run without needing to tune its configuration.
Line 28: Line 36:
The base patchbot configuration can be found at https://github.com/robertwb/sage-patchbot/blob/master/src/patchbot.py in the ''get_config'' function.
All of these settings can be overridden by passing a config file which is treated as a json overlay on these defaults.
You can use a specific configuration file using '''sage -patchbot --config=path/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.
Line 35: Line 45:
To give preference to a component you care about, use

    {"bonus": {"combinatorics": 200}}
Line 37: Line 51:
    {"use_ccache": "False"}     {"use_ccache": false}

To run only at night, use

    {"time_of_day": "22-7"}
Line 42: Line 60:
    "use_ccache": "False",
    "safe_only": "True",
    "skip_base": "True"}
    "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=path/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.