Size: 1534
Comment: details
|
Size: 1638
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 and a powerful enough machine. == 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 works for a mercurial setting, not tested 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 "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 sage is in its initial state when running the patchbot (sage-main branch with no patch applied). | 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. |
┌─┬──────┐ │░│ ⊙ ʘ │ 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}
Note that the booleans must be written with no capital first letter.