Differences between revisions 46 and 47
Revision 46 as of 2022-04-18 03:56:10
Size: 4071
Editor: mkoeppe
Comment: Remove section duplicated from https://doc.sagemath.org/html/en/developer/trac.html#reasons-to-invalidate-tickets
Revision 47 as of 2022-04-18 03:57:36
Size: 2862
Editor: mkoeppe
Comment: Remove section duplicated from https://doc.sagemath.org/html/en/developer/trac.html#working-on-tickets
Deletions are marked like this. Additions are marked like this.
Line 31: Line 31:
== Working On Tickets ==

 * Every bug fixed should result in a doctest. Example: zombie det() problem with LinBox, considered fixed twice, but reopened in both cases.
 * Cooperative debugging via IRC is faster by at least an order of magnitude. If you haven't learned how to use IRC, please do so. If you have problems using IRC because of firewalls, but you do have an account on sage.math, you can use irssi via ssh there. If you have a flaky connection, you can use it together with screen.
 * This is not an issue with defects, but there are many enhancements possible for Sage and too few developers to implement all the good ideas. But it is useful to keep ideas in a central place because in the Google groups they tend to get lost once they drop off the first page.
 * If you are a developer, be nice and try to solve a stale/old ticket every once in a while.
 * Some people regularly do triage, especially before Bug Days. Triage in this context means that we look at new bugs and classify them according to our perceived priority. It is very likely that different people will see priorities of bugs very differently from us, so please let us know if you see a problem with specific tickets.

Trac Guidelines for Sage

Reviewing Tickets

  • 100% Doctests: All new code must be 100% doctested. There is no way around this.

  • Bug Fixes Must Be Doctested: The ticket that fixes an issue must also contain a doctest specifically to test the problem. This is not always possible, so this is not enforced in certain situations.

  • Test the reference manual: sage -docbuild reference html must produce no errors.

  • Test the Sage library: make test or make ptest (edit number of threads in makefile before using ptest!).

Milestones vs. Releases

  • Milestones are usually goals to be met while working toward a release. In Sage's trac, we use milestones instead of releases, but unless somebody volunteers to clean up all the old milestones, we will stick with the current model. It doesn't make a whole lot of difference if we use milestone instead of release.
  • Finely grained releases are good. Release early and often is the way to go, especially as more and more patches are coming in.
  • It is a good idea to make a big release and schedule at least one more bugfix release after that to sort out the inevitable "doctest X is broken on distribution Y and compiler Z" problem. Given the number of compilers and operating systems out there, one has to be realistic to expect problems. A compile farm would certainly help to catch issues early.

Assigning Tickets

  • Each ticket must have a milestone assigned.
  • If a ticket has a patch or spkg that is ready to be reviewed, assign it against the current milestone.
  • defect vs. enhancement vs. task: this can be tricky, but a defect should be something that leads to an exception or a mathematically wrong result.
  • If you are unsure to whom to assign the ticket, assign it to somebody.

  • Certain categories have default people that get assign all issues. One example is mabshoff for memory leaks.

  • If you have been assigned a ticket, you should either accept it or assign it back to somebody or tba. Many people do not accept pending tickets at the moment. You have accepted a ticket if your name has a star next to it.

Comments

  • It would be nice to add something about our conventions about titles; "[with patch, needs review]", and so on. Also, what exactly must be done to review a patch? I'd like to see more about this. --DanDrake

  • Based on recent mailing list discussion, there appears to be a standard for naming patches: trac_NNNN_name. If this is going to be preferred/required, it should be stated here. --PeterJeremy

  • What are the conventions regarding including people listed as spkg maintainers and/or upstream contacts in tickets? This needs to be documented here. --PeterJeremy