2528
Comment: better formatting
|
4073
git and mercurial, details
|
Deletions are marked like this. | Additions are marked like this. |
Line 5: | Line 5: |
The first builds entire tarballs (e.g. all the alphas) on a wide variety of machines, and can be found at http://build.sagemath.org/sage/ . | The first builds entire tarballs (e.g. all the development releases) on a wide variety of machines. It can be found at http://build.sagemath.org/sage/ . |
Line 9: | Line 9: |
The second pulls and applies patches from trac and can be found at http://sage.math.washington.edu:21100/ticket/ or from links on the individual trac tickets. This is still very much a work in progress, but the latest version of the code lives at http://sage.math.washington.edu/home/robertwb/buildbot/bot/ . Eventually this will get moved into Sage where it can be edited using the standard procedures and more widely deployed. | The second pulls and applies mercurial patches (or git branches) from Trac and can be found at http://patchbot.sagemath.org/ or from links on the individual Trac tickets. This is still very much a work in progress; the latest version of the code lives at https://code.google.com/p/sage-buildbot/ (or at http://github.com/robertwb/sage-patchbot). Eventually this will get moved into Sage where it can be edited using the standard procedures and more widely deployed. See ticket http://trac.sagemath.org/sage_trac/ticket/12486. |
Line 11: | Line 11: |
=== Usage === | If you want to run a patchbot on your machine, see this [[buildbot/details|instruction page]]. |
Line 13: | Line 13: |
Patch Buildbot will usually be able to to determine which attachments for a given Trac ticket to apply; when in doubt click on the swirly blob to see it's plan of action. If it is unable to figure out what to do, tell Patch Buildbot explicitly which patches to apply by writing something like the following in any comment: | === Usage (Mercurial setting) === The Patch Buildbot automatically select patches (from the ticket attachments) to apply. Every Trac ticket has a Patch Buildbot report page, which is accessed by the swirly, round icon at the top of the ticket description. The report page lists the patches the buildbot chose. To override this choice, use the following directive in a ticket comment: |
Line 17: | Line 19: |
This will "reset" the patch list at that point. Any subsequently added patches will get (semi-intellegently) appended to the list. The list of attachments which will be applied on the next run are listed at the top of the buildbot report page for that ticket (the page you get by clicking on the swirly round icon at the top of the ticket description). |
Any subsequently added patches will be (semi-intelligently) appended to the list. To tell Patch Buildbot about any ticket dependencies, populate the dependencies field with the ticket number(s) and/or minimum Sage version. |
Line 20: | Line 21: |
To tell Patch Buildbot about any ticket dependencies, populate the dependencies field with the ticket numbers and/or minimal sage version. | Only the devel repository has branches, so the buildbot is unable to apply and try out patches to extcode/scripts/etc. |
Line 22: | Line 23: |
Only the devel repository has branches, so the patchbot is unable to apply and try out patches to extcode/scripts/etc. | === Usage (Git setting) === |
Line 24: | Line 25: |
=== Possible status === | The Patch Buildbot automatically applies the branch attached to a ticket. |
Line 26: | Line 27: |
Patches can have the following status: | === Lists of reports === |
Line 28: | Line 29: |
* New (grey) | You can see the status of several patches at the same time (replace xxxx by your user name) : |
Line 30: | Line 31: |
* ApplyFailed (red) The patch could not be applied. This can be caused by conflicts with other patches or dependencies. | For the patches you participated in, see http://patchbot.sagemath.org/ticket/?participant=xxxx |
Line 32: | Line 33: |
* BuildFailed () | For the patches you authored, see http://patchbot.sagemath.org/ticket/?author=xxxx |
Line 34: | Line 35: |
* TestsFailed (yellow) Some tests did not succeed. They can be found in the report of the bot. | === Patch Status === |
Line 36: | Line 37: |
* PluginFailed (blue) Documentation and commit messages should be checked. See the report to see what is wrong. | The color of the report page icon indicates the status of the patch. See the report page itself for more details. The possible statuses are: |
Line 38: | Line 39: |
* TestsPassed (green) Everything is ok, as far as the bot can tell. | {{http://patchbot.sagemath.org/blob/New}} '''New''' |
Line 40: | Line 41: |
* Pending (grey) The bot is currently running on this patch. | {{http://patchbot.sagemath.org/blob/Pending}}* '''Pending''' A patchbot is currently running on this patch. |
Line 42: | Line 43: |
* NoPatch () No patch has been uploaded to trac so far. | {{http://patchbot.sagemath.org/blob/TestsPassed}} '''!TestsPassed''' Everything is okay, as far as a patchbot can tell. |
Line 44: | Line 45: |
* Spkg (purple) This is not related to a patch but to a spkg package. | {{http://patchbot.sagemath.org/blob/ApplyFailed}} '''!ApplyFailed''' The patch could not be applied. This can be caused by conflicts with other patches or dependencies. |
Line 46: | Line 47: |
{{http://patchbot.sagemath.org/blob/BuildFailed}} '''!BuildFailed''' The patch can be applied, but sage failed to build. {{http://patchbot.sagemath.org/blob/TestsFailed}} '''!TestsFailed''' One or more tests did not succeed. {{http://patchbot.sagemath.org/blob/PluginFailed}} '''!PluginFailed''' Documentation, commit messages and trailing whitespaces should be checked. {{http://patchbot.sagemath.org/blob/PluginOnlyFailed}} '''!PluginOnlyFailed''' Documentation, commit messages and trailing whitespaces should be checked. Tests have not been made. {{http://patchbot.sagemath.org/blob/PluginOnly}} '''!PluginOnly''' Only Documentation, commit messages and trailing whitespaces have been validated. Tests have not been made. {{http://patchbot.sagemath.org/blob/NoPatch}} '''!NoPatch''' No patch has been uploaded to Trac so far. The patchbot has nothing to do. {{http://patchbot.sagemath.org/blob/Spkg}} '''Spkg''' This is not related to a patch but to a spkg. The patchbot is not concerned. |
|
Line 49: | Line 63: |
Detecting which patches to apply are both performed by string searches on each line of the ticket, and are case insensitive. | * Detecting which patches to apply are both performed by string searches on each line of the ticket, and are case insensitive. * The patch list directive does not work in ticket descriptions. * To rerun tests (even though the patches to apply were not modified) add the kick parameter, e.g., http://patchbot.sagemath.org/ticket/12345/?kick |
Sage has two build bots.
Release Buildbot
The first builds entire tarballs (e.g. all the development releases) on a wide variety of machines. It can be found at http://build.sagemath.org/sage/ .
Patch Buildbot
The second pulls and applies mercurial patches (or git branches) from Trac and can be found at http://patchbot.sagemath.org/ or from links on the individual Trac tickets. This is still very much a work in progress; the latest version of the code lives at https://code.google.com/p/sage-buildbot/ (or at http://github.com/robertwb/sage-patchbot). Eventually this will get moved into Sage where it can be edited using the standard procedures and more widely deployed. See ticket http://trac.sagemath.org/sage_trac/ticket/12486.
If you want to run a patchbot on your machine, see this instruction page.
Usage (Mercurial setting)
The Patch Buildbot automatically select patches (from the ticket attachments) to apply. Every Trac ticket has a Patch Buildbot report page, which is accessed by the swirly, round icon at the top of the ticket description. The report page lists the patches the buildbot chose. To override this choice, use the following directive in a ticket comment:
- Apply foo.patch, foo2.patch
Any subsequently added patches will be (semi-intelligently) appended to the list. To tell Patch Buildbot about any ticket dependencies, populate the dependencies field with the ticket number(s) and/or minimum Sage version.
Only the devel repository has branches, so the buildbot is unable to apply and try out patches to extcode/scripts/etc.
Usage (Git setting)
The Patch Buildbot automatically applies the branch attached to a ticket.
Lists of reports
You can see the status of several patches at the same time (replace xxxx by your user name) :
For the patches you participated in, see http://patchbot.sagemath.org/ticket/?participant=xxxx
For the patches you authored, see http://patchbot.sagemath.org/ticket/?author=xxxx
Patch Status
The color of the report page icon indicates the status of the patch. See the report page itself for more details. The possible statuses are:
New
* Pending A patchbot is currently running on this patch.
TestsPassed Everything is okay, as far as a patchbot can tell.
ApplyFailed The patch could not be applied. This can be caused by conflicts with other patches or dependencies.
BuildFailed The patch can be applied, but sage failed to build.
TestsFailed One or more tests did not succeed.
PluginFailed Documentation, commit messages and trailing whitespaces should be checked.
PluginOnlyFailed Documentation, commit messages and trailing whitespaces should be checked. Tests have not been made.
PluginOnly Only Documentation, commit messages and trailing whitespaces have been validated. Tests have not been made.
NoPatch No patch has been uploaded to Trac so far. The patchbot has nothing to do.
Spkg This is not related to a patch but to a spkg. The patchbot is not concerned.
Hints and tricks
- Detecting which patches to apply are both performed by string searches on each line of the ticket, and are case insensitive.
- The patch list directive does not work in ticket descriptions.
To rerun tests (even though the patches to apply were not modified) add the kick parameter, e.g., http://patchbot.sagemath.org/ticket/12345/?kick