Skip to content
This repository was archived by the owner on Dec 5, 2019. It is now read-only.

Issue Labels

Bill Sacks edited this page Nov 26, 2019 · 1 revision

Issue labels

Issues can be given a number of different labels, in the following categories. All issues should be given one type label. Other labels are optional.

type

This label defines what type of issue it is; all issues should be given one of these type labels. We give an issue just a single type label, based on the best fit for that issue.

  • Issues requiring code (or documentation) changes in the LILAC repository

    • type: bug: Something is working incorrectly.

    • type: code cleanup: Code changes whose primary purpose is to improve the internal code structure (i.e., refactoring). This can also include additions or edits needed in code comments.

    • type: documentation: Additions or edits needed in user-facing documentation. This includes any standalone documentation, the wiki, README files, etc. In most cases, issues with this label have no impact on the running of the code and should not require testing.

    • type: enhancement: Code additions/modifications that bring in new capabilities or improve the behavior of existing capabilities. Note that, if the issue mainly involves changing internal code structure rather than external behavior, it should be given the type: code cleanup label rather than this one.

    • type: tests: Additions or changes to tests (either unit tests or system tests). (Other issue types, such as enhancements, often involve adding tests as well. Or if a feature is removed it might include removing tests. Issues with the type: tests label are just about adding/changing tests.)

  • Issues not requiring code (or documentation) changes in the LILAC repository (at least, not initially: e.g., a "discussion" or "investigation" issue could lead to the need for changes later) (note: these labels have a prefix of - simply to force them to all appear together in GitHub's alphabetic sorting)

    • type: -discussion: This issue's resolution involves discussion within the github issue page.

    • type: -external: This issue only requires changes in some other repository, not in LILAC itself. We have an issue here for the sake of project tracking. Issues with this label should also be given one of the external: labels. For issues that involve both changes in LILAC and changes elsewhere: they should be given one of the other type labels and not this type: -external label, but then should be given one of the external: labels.

    • type: -investigation: A task that involves some investigation. For example, this could involve validation or performance evaluations. As opposed to type: discussion, there will often be significant work needed to close this issue. Once this is resolved, other issues (enhancements or bugs) may be opened based on the findings.

external

This label describes the external component(s) in which changes are needed. At least one such label is required for any issues with the type: -external label (which implies that changes are only needed in external components). One or more of these labels can also be added to other types of issues, implying that changes are needed both in LILAC and in some other component(s).

priority

This label describes where this issue should fall on the priority list - i.e., whether it should be addressed soon, or whether it can wait for a while. Issues not given a priority label implicitly have a medium priority.

  • priority: high: This issue should be addressed soon

  • priority: low: This issue can be deferred for a while

blocked

This label describes various reasons why an issue can't be dealt with immediately. We can periodically review issues with these labels to see if the condition blocking a given issue no longer applies.

  • blocked: dependency: This issue depends on some other issue, so we won't start working on it until that issue is resolved. Both issues should reference the other issue somewhere in their comments:

    • The blocked issue should use the phrase Blocked by #XXX in a comment

    • The blocking issue should be given the label, tag: blocker, and should use the phrase Blocks #XXX in a comment

closed

These labels can be applied to issues that are closed without being fixed.

  • closed: duplicate: This issue is a duplicate of another issue. The duplicate issue number should be noted in an issue comment.

  • closed: invalid: This is not really an issue. For example, someone may have thought there was a bug, but in fact the code is operating as intended or there was user error.

  • closed: moved: This is an issue with some other component, so the issue has been moved to a different repository.

  • closed: wontfix: We have decided not to fix this bug, not to implement this enhancement, etc.

tag

These are miscellaneous labels that can be applied to any issue to help people find certain classes of issues later.

  • tag: blocker: This tag should be used for issues that are blocking some other issue. The other issue should have the label, blocked: dependency. This issue should use the phrase Blocks #XXX in a comment. The purpose of this label is to help us remember to remove the blocked: dependency label from the other issue once this one is resolved; in addition, by calling out that this issue is a blocker, we may give it higher priority.

Clone this wiki locally