|
| 1 | +@page github GitHub Procedures and Practices |
| 2 | + |
| 3 | + |
| 4 | +POV-Ray's official source code repository is hosted on GitHub. Besides version |
| 5 | +management, we're also making use of other features of that platform, most |
| 6 | +notably GitHub issues. |
| 7 | + |
| 8 | + |
| 9 | +Issues |
| 10 | +====== |
| 11 | + |
| 12 | +Labels |
| 13 | +------ |
| 14 | + |
| 15 | +This section describes the current (2017-03-25) intent of the various GitHub |
| 16 | +issue labels we're currently using (or have available for use): |
| 17 | + |
| 18 | +### Triage |
| 19 | + |
| 20 | +The following labels are used to categorize unexpected behaviour: |
| 21 | + |
| 22 | + - **bug**: The behaviour has been identified as a genuine bug, i.e. neither |
| 23 | + intentional nor deliberately accepted, and affecting all platforms on which |
| 24 | + the code is intended to run. |
| 25 | + |
| 26 | + - **compatibility**: The behaviour has been identified as unintentional, |
| 27 | + but affecting only a subset of the relevant build or runtime environments. |
| 28 | + |
| 29 | + - **feature**: The reported unexpected behaviour (if any) has been |
| 30 | + identified as intentional or deliberately accepted in the past, but is taken |
| 31 | + as an incentive for possible improvement; or the original author suggested |
| 32 | + such an improvement straight away. |
| 33 | + |
| 34 | + - **minor**: The behaviour has been identified as unintentional, but deemed |
| 35 | + more of a small nuisance than a genuine problem. |
| 36 | + |
| 37 | + - **not a bug**: The behaviour has been identified as fully intentional. |
| 38 | + |
| 39 | + - **wontfix**: The behaviour has been identified as sub-optimal but |
| 40 | + deliberately accepted. |
| 41 | + |
| 42 | +Alternatively, the following labels are used to flag special cases: |
| 43 | + |
| 44 | + - **bulk**: The issue reports multiple independent items; it should be |
| 45 | + split up into multiple new issues, and closed with reference to the new |
| 46 | + issue IDs. |
| 47 | + |
| 48 | + - **duplicate**: The issue has already been reported with an earlier |
| 49 | + GitHub issue, and should be closed with reference to the earlier issue ID. |
| 50 | + |
| 51 | + - **invalid**: The issue has been identified as blatant misuse of the |
| 52 | + GitHub issues feature. |
| 53 | + |
| 54 | + - **support**: The issue does not constitute a report of unexpected behaviour, |
| 55 | + but rather a request for support. |
| 56 | + |
| 57 | +### Symptoms |
| 58 | + |
| 59 | +The following labels are used to identify particular classes of symptoms: |
| 60 | + |
| 61 | + - **artefact**: The issue pertains to visible render artefacts. |
| 62 | + |
| 63 | + - **performance**: The issue pertains to sub-optimal performance. |
| 64 | + |
| 65 | +### Components |
| 66 | + |
| 67 | +The following labels are used to identify particular components affected: |
| 68 | + |
| 69 | + - **Windows Editor**: The issue affects the Windows editor DLLs. |
| 70 | + |
| 71 | + - **Windows GUI**: The issue affects the Windows GUI. |
| 72 | + |
| 73 | +### Platforms |
| 74 | + |
| 75 | +Labels starting with "OS:" are used to indicate that the reported issue or the |
| 76 | +suggested course of action involve platform-specific behaviour: |
| 77 | + |
| 78 | + - **OS: BSD**: BSD-style Unix |
| 79 | + |
| 80 | + - **OS: Linux**: GNU/Linux |
| 81 | + |
| 82 | + - **OS: Mac OS X**: Linux-based Apple Macintosh OS |
| 83 | + |
| 84 | + - **OS: Windows**: Microsoft Windows |
| 85 | + |
| 86 | + - **OS: Unix**: Generic Unix-style platforms |
| 87 | + |
| 88 | +Only the most generic applicable labels should be used (e.g. just _Unix_ if |
| 89 | +all Unix-style platforms are affected alike, instead of _BSD_, _Linux_ and |
| 90 | +_Max OS X_). If all platforms are affected alike, none of the labels should be |
| 91 | +used. |
| 92 | + |
| 93 | +In a similar vein, these labels should not be used if the platform is already |
| 94 | +unambiguously identified by a component label (e.g. _Windows Editor_, |
| 95 | +implying the Windows platform). |
| 96 | + |
| 97 | +### Action |
| 98 | + |
| 99 | +Labels starting with "ToDo:" are used to identify how to proceed with the issue: |
| 100 | + |
| 101 | + - **ToDo: discuss**: Comments are called for, to discuss how to proceed with |
| 102 | + the issue. |
| 103 | + |
| 104 | + - **ToDo: implement**: A good solution has already been identified, and just |
| 105 | + needs to be implemented. |
| 106 | + |
| 107 | + - **ToDo: refactor**: Reasonable ideas to address the issue already exist, |
| 108 | + but require further refactoring of the codebase. |
| 109 | + |
| 110 | + - **ToDo: reproduce**: The issue still needs to be reproduced in order to |
| 111 | + identify the root cause. |
| 112 | + |
| 113 | + - **ToDo: research**: Some research is needed before determining how to |
| 114 | + proceed with the issue. |
| 115 | + |
| 116 | + - **ToDo: test**: An attempt to address the issue has been made, and needs |
| 117 | + to be tested now. |
| 118 | + |
| 119 | + - **ToDo: user feedback**: Some clarification is needed from the original |
| 120 | + author of the issue report. |
| 121 | + |
| 122 | +Alternatively, the following labels also imply a particular action (or absence |
| 123 | +thereof): |
| 124 | + |
| 125 | + - **informational**: It has been decided to not take any action with |
| 126 | + respect to the issue, but leave it open as a source of information for |
| 127 | + other users. |
| 128 | + |
| 129 | +### Label Colouring |
| 130 | + |
| 131 | +The label colours have been chosen somewhat arbitrarily, except for the |
| 132 | +following: |
| 133 | + |
| 134 | + - **White** (`#FFFFFF`) is reserved for platform labels. |
| 135 | + |
| 136 | + - **Silver** (`#CCCCCC`) is reserved for miscellaneous labels indicating that |
| 137 | + we're essentially ignoring the issue for one reason or another. |
| 138 | + |
| 139 | + - **Dim Grey** (`#666666`) is reserved for labels indicating components that |
| 140 | + are considered obsolete. |
| 141 | + |
| 142 | + - **Black** (`#000000`) is reserved for labels indicating that we're |
| 143 | + deliberately rejecting the issue for one reason or another. |
| 144 | + |
| 145 | + - **Scarlet** (`#FC2929`) is reserved for labels indicating behaviour that |
| 146 | + needs fixing. |
| 147 | + |
| 148 | + - **Crimson** (`#B60205`) is reserved for labels indicating behaviour that |
| 149 | + warrants improvement. |
| 150 | + |
| 151 | + - **Pastel** colours are used for _ToDo:_ labels. |
| 152 | + |
0 commit comments