Differences between revisions 11 and 14 (spanning 3 versions)
Revision 11 as of 2011-06-27 07:08:35
Size: 2528
Comment: better formatting
Revision 14 as of 2012-03-01 00:57:01
Size: 2361
Editor: ltw
Comment:
Deletions are marked like this. Additions are marked like this.
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 patches 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, but the latest version of the code lives at https://code.google.com/p/sage-buildbot/ . Eventually this will get moved into Sage where it can be edited using the standard procedures and more widely deployed.
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: The Patch Buildbot will 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 17:
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-intellegently) appended to the list. To tell Patch Buildbot about any ticket dependencies, populate the dependencies field with the ticket numbers and/or minimum Sage version.
Line 20: Line 19:
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 21:
Only the devel repository has branches, so the patchbot is unable to apply and try out patches to extcode/scripts/etc.

=== Possible status ===
=== Patch Status ===
Line 32: Line 29:
 * BuildFailed ()  * BuildFailed (red)
Line 36: Line 33:
 * PluginFailed (blue) Documentation and commit messages should be checked. See the report to see what is wrong.  * PluginFailed (blue) Documentation and commit messages should be checked, see the bot report.
Line 42: Line 39:
 * NoPatch () No patch has been uploaded to trac so far.  * NoPatch (purple) No patch has been uploaded to trac so far. The bot has nothing to do.
Line 44: Line 41:
 * Spkg (purple) This is not related to a patch but to a spkg package.  * Spkg (purple) This is not related to a patch but to a spkg package. The bot is not concerned.
Line 49: Line 46:
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.

Sage has two build bots.

Release Buildbot

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/ .

Patch Buildbot

The second pulls and applies patches 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, but the latest version of the code lives at https://code.google.com/p/sage-buildbot/ . Eventually this will get moved into Sage where it can be edited using the standard procedures and more widely deployed.

Usage

The Patch Buildbot will 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-intellegently) appended to the list. To tell Patch Buildbot about any ticket dependencies, populate the dependencies field with the ticket numbers 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.

Patch Status

Patches can have the following status:

  • New (grey)
  • ApplyFailed (red) The patch could not be applied. This can be caused by conflicts with other patches or dependencies.

  • BuildFailed (red)

  • TestsFailed (yellow) Some tests did not succeed. They can be found in the report of the bot.

  • PluginFailed (blue) Documentation and commit messages should be checked, see the bot report.

  • TestsPassed (green) Everything is ok, as far as the bot can tell.

  • Pending (grey) The bot is currently running on this patch.
  • NoPatch (purple) No patch has been uploaded to trac so far. The bot has nothing to do.

  • Spkg (purple) This is not related to a patch but to a spkg package. The bot 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.