Differences between revisions 1 and 11 (spanning 10 versions)
Revision 1 as of 2013-10-20 13:45:24
Size: 1471
Editor: chapoton
Comment: try to explain how one can use the patchbot
Revision 11 as of 2015-04-22 12:26:32
Size: 1574
Editor: chapoton
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
There are (at least) two ways to run your own private patchbot.

In any case, it is better to have disk space available.

== Run on all tickets ==
{{{
┌─┬──────┐
│░│ ⊙ ʘ │ SageMath patchbot
│░│ │
│░│ ──── │
╘═╧══════╛
}}}
== Running the patchbot ==
Line 9: Line 12:
# Install the patchbot using "sage -i patchbot"  * Install the patchbot using '''sage -i patchbot'''
Line 11: Line 14:
# Run the patchbot using "sage -patchbot"  * Run the patchbot using '''sage -patchbot'''
Line 15: Line 18:
== Run on chosen tickets == You can run a specific ticket by using '''sage -patchbot --ticket=N''' where N is a ticket number such as 12345.
Line 17: Line 20:
Here is a proposal on how to use the patchbot only on tickets you want to work on. Several other options are available, see '''sage -patchbot --help'''
Line 19: Line 22:
Warning: this is for a mercurial setting, not for the new git setting. (2015-04) The latest available version can be installed using '''sage -i http://chapoton.perso.math.cnrs.fr/patchbot-2.3.3.spkg'''
Line 21: Line 24:
# install the latest sage development release (download from http://www.sagemath.org/download-latest.html and make) == Configuration ==
Line 23: Line 26:
# install the latest patchbot (clone from http://github.com/robertwb/sage-patchbot) You can use a specific configuration file using '''sage -patchbot --config=config_file.json'''
Line 25: Line 28:
# in a terminal, inside your_sage_home_dir, "./sage -clone 0" 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.
Line 27: Line 31:
# in a terminal: "cd sage-patchbot/src" then run "ipython" For example, to let the tickets of user "niceguy" be given some priority, use:
Line 29: Line 33:
# in ipython, "from patchbot import Patchbot", then "P = Patchbot('your_sage_home_dir',"http://patchbot.sagemath.org/",None,plugin_only=True)" or "P = Patchbot('your_sage_home_dir',"http://patchbot.sagemath.org/",None)"     {"bonus": {"niceguy": 200}}
Line 31: Line 35:
The first one will only run the plugins (much faster), the second one will run all the tests (much slower). To avoid the use of ccache, use:
Line 33: Line 37:
# Then choose your favorite ticket number N and "P.test_a_ticket(N)"     {"use_ccache": "False"}
Line 35: Line 39:
It is important that the sage sources in sage-main are in their initial state when running the patchbot. A more complex example of config file could be:

    {"bonus": {"niceguy": 200, "needs_work": -20},
    "use_ccache": "False",
    "safe_only": "True",
    "skip_base": "True"}

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

Running the patchbot

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

  • Install the patchbot using sage -i patchbot

  • Run the patchbot using sage -patchbot

I 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

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

Configuration

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

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.

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

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

To avoid the use of ccache, use:

  • {"use_ccache": "False"}

A more complex example of config file could be:

  • {"bonus": {"niceguy": 200, "needs_work": -20}, "use_ccache": "False", "safe_only": "True", "skip_base": "True"}