1471
Comment: try to explain how one can use the patchbot
|
1549
|
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)" | {"author": {"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: {"author": {"niceguy": 200}, "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:
- {"author": {"niceguy": 200}}
To avoid the use of ccache, use:
- {"use_ccache": False}
A more complex example of config file could be:
- {"author": {"niceguy": 200}, "use_ccache": False, "safe_only": True, "skip_base": True}