AndroidX Core Team | 2e416b2 | 2020-12-03 22:58:07 +0000 | [diff] [blame] | 1 | # Issue Lifecycle and Reporting Guidelines |
| 2 | |
| 3 | [TOC] |
| 4 | |
AndroidX Core Team | 2afabce | 2023-02-02 11:56:14 -0500 | [diff] [blame] | 5 | This document provides an external-facing explanation of how to file a bug |
| 6 | against a Jetpack library or infrastructure component and how to interpret the |
| 7 | various statuses and priorities displayed in the issue tracker. |
| 8 | |
AndroidX Core Team | 0e7745f | 2021-04-08 17:00:10 +0000 | [diff] [blame] | 9 | ## Issue tracker {#tracker} |
AndroidX Core Team | 2e416b2 | 2020-12-03 22:58:07 +0000 | [diff] [blame] | 10 | |
| 11 | The public-facing issue tracker URL is |
AndroidX Core Team | 2afabce | 2023-02-02 11:56:14 -0500 | [diff] [blame] | 12 | [issuetracker.google.com](https://issuetracker.google.com). |
AndroidX Core Team | 2e416b2 | 2020-12-03 22:58:07 +0000 | [diff] [blame] | 13 | |
| 14 | The top-level Jetpack component is |
| 15 | [`Android Public Tracker > App Development > Jetpack (androidx)`](https://issuetracker.google.com/components/192731/manage#basic). |
AndroidX Core Team | 2afabce | 2023-02-02 11:56:14 -0500 | [diff] [blame] | 16 | **Do not** file bugs against the top-level component. Individual library |
| 17 | components are organized by group and can be searched by entering the Maven |
| 18 | group in the issue tracker's component field, e.g. `androidx.core`. |
| 19 | |
| 20 | Issues with tools, processes, or infrastructure should be reported under the |
| 21 | [`Jetpack (androidx) > Infrastructure`](https://issuetracker.google.com/components/705292/manage#basic) |
| 22 | component. |
AndroidX Core Team | 2e416b2 | 2020-12-03 22:58:07 +0000 | [diff] [blame] | 23 | |
AndroidX Core Team | 0e7745f | 2021-04-08 17:00:10 +0000 | [diff] [blame] | 24 | ## Reporting guidelines {#reporting} |
AndroidX Core Team | 2e416b2 | 2020-12-03 22:58:07 +0000 | [diff] [blame] | 25 | |
| 26 | Issue Tracker isn't a developer support forum. For support information, consider |
| 27 | [StackOverflow](http://stackoverflow.com). |
| 28 | |
| 29 | Support for Google apps is through |
| 30 | [Google's support site](http://support.google.com/). Support for third-party |
| 31 | apps is provided by the app's developer, for example through the contact |
| 32 | information provided on Google Play. |
| 33 | |
| 34 | 1. Search for your bug to see if anyone has already reported it. Don't forget |
| 35 | to search for all issues, not just open ones, as your issue might already |
| 36 | have been reported and closed. To help you find the most popular results, |
| 37 | sort the result by number of stars. |
| 38 | |
| 39 | 1. If you find your issue and it's important to you, star it! The number of |
| 40 | stars on a bug helps us know which bugs are most important to fix. |
| 41 | |
| 42 | 1. If no one has reported your bug, file the bug. First, browse for the correct |
| 43 | component -- typically this has a 1:1 correspondence with Maven group ID -- |
| 44 | and fill out the provided template. |
| 45 | |
| 46 | 1. Include as much information in the bug as you can, following the |
| 47 | instructions for the bug queue that you're targeting. A bug that simply says |
| 48 | something isn't working doesn't help much, and will probably be closed |
| 49 | without any action. The amount of detail that you provide, such as a minimal |
| 50 | sample project, log files, repro steps, and even a patch set, helps us |
| 51 | address your issue. |
| 52 | |
AndroidX Core Team | 0e7745f | 2021-04-08 17:00:10 +0000 | [diff] [blame] | 53 | ## Status definitions {#status} |
AndroidX Core Team | 2e416b2 | 2020-12-03 22:58:07 +0000 | [diff] [blame] | 54 | |
| 55 | | Status | Description | |
| 56 | | -------- | ----------------------------------------------------------------- | |
| 57 | | New | The default for public bugs. Waiting for someone to validate, | |
AndroidX Core Team | 1d93e5c | 2022-10-18 06:55:04 -0700 | [diff] [blame] | 58 | : : reproduce, or otherwise confirm that this is actionable. Bugs in : |
| 59 | : : this state can be either Untriaged or Triaged. Untriaged state : |
| 60 | : : refers to a status where an issue has been filed against our : |
| 61 | : : team, but the team/person responsible for fixing the issue has : |
| 62 | : : not looked at it yet. Triaged state refers to a status where an : |
| 63 | : : issue filed against the team has been reviewed by the : |
| 64 | : : team/person, and they have accurately updated the priority of the : |
| 65 | : : issue. : |
| 66 | | Assigned | In this state, the issue is ready to be added to an iteration | |
| 67 | : : with a level of certainty that it will be completed within the : |
| 68 | : : upcoming team iteration. Issues here should be >=P3 : |
AndroidX Core Team | 2e416b2 | 2020-12-03 22:58:07 +0000 | [diff] [blame] | 69 | | Accepted | Actively being worked on by the assignee. Do not reassign. | |
| 70 | | Fixed | Fixed in the development branch. Do not re-open unless the fix is | |
| 71 | : : reverted. : |
| 72 | | WontFix | Covers all the reasons we chose to close the issue without taking | |
| 73 | : : action (can't repro, working as intended, obsolete). : |
| 74 | |
AndroidX Core Team | 0e7745f | 2021-04-08 17:00:10 +0000 | [diff] [blame] | 75 | ## Priority criteria and SLOs {#priority} |
AndroidX Core Team | 2e416b2 | 2020-12-03 22:58:07 +0000 | [diff] [blame] | 76 | |
AndroidX Core Team | 0e7745f | 2021-04-08 17:00:10 +0000 | [diff] [blame] | 77 | | Priority | Criteria | Resolution time | |
| 78 | | -------- | ------------------------------- | ------------------------------ | |
| 79 | | P0 | This issue is preventing | Less than 1 day. Don't go home | |
| 80 | : : someone from getting work done : until this is fixed. : |
| 81 | : : and doesn’t have a workaround. : : |
| 82 | : : Examples include service : : |
| 83 | : : outages, work-stopping issues, : : |
| 84 | : : and build breakages : : |
| 85 | | P1 | This issue requires rapid | Within the next 7 days | |
| 86 | : : resolution, but can be dealt : : |
| 87 | : : with on a slightly longer : : |
| 88 | : : timeline than P0. Examples : : |
| 89 | : : include issues that frequently : : |
| 90 | : : hinder workflow, serious : : |
| 91 | : : regressions, and ship-blocking : : |
| 92 | : : issues : : |
| 93 | | P2 | This issue is important to | Within the next month | |
| 94 | : : resolve and may block releases. : : |
| 95 | : : Examples include non-OKR : : |
| 96 | : : feature requests and infrequent : : |
| 97 | : : workflow issues. : : |
| 98 | | P3 | This issue would be nice to | Less than 365 days | |
| 99 | : : resolve, but it's not going to : : |
| 100 | : : block any releases. Examples : : |
| 101 | : : include nice-to-have feature : : |
| 102 | : : requests, bugs that only : : |
| 103 | : : affects a small set of use : : |
| 104 | : : cases, and occasional issues. : : |
| 105 | | P4 | Issue has not yet been | N/A (must triage in under 14 | |
| 106 | : : prioritized. : days : |
AndroidX Core Team | 2e416b2 | 2020-12-03 22:58:07 +0000 | [diff] [blame] | 107 | |
| 108 | ## Issue lifecycle |
| 109 | |
AndroidX Core Team | 0e7745f | 2021-04-08 17:00:10 +0000 | [diff] [blame] | 110 | 1. When an issue is reported, it is set to `Assigned` status for default |
Ian Baker | 186108e | 2023-11-20 06:54:36 -0800 | [diff] [blame] | 111 | assignee (typically the [library owner](/docs/owners.md)) |
AndroidX Core Team | 5fa6198 | 2023-01-13 10:43:41 -0500 | [diff] [blame] | 112 | with a priority of **P4**. |
AndroidX Core Team | 2e416b2 | 2020-12-03 22:58:07 +0000 | [diff] [blame] | 113 | 1. Once an issue has been triaged by the assignee, its priority will be raised |
| 114 | from **P4** according to severity. |
| 115 | 1. The issue may still be reassigned at this point. |
Ian Baker | 186108e | 2023-11-20 06:54:36 -0800 | [diff] [blame] | 116 | [Bug bounty](/docs/onboarding.md#bug-bounty) issues are |
AndroidX Core Team | 5fa6198 | 2023-01-13 10:43:41 -0500 | [diff] [blame] | 117 | likely to change assignees. |
AndroidX Core Team | 2e416b2 | 2020-12-03 22:58:07 +0000 | [diff] [blame] | 118 | 1. A status of **Accepted** means the assignee is actively working on the |
| 119 | issue. |
| 120 | 1. A status of **Fixed** means that the issue has been resolved in the |
| 121 | development branch. Please note that it may take some time for the fix to |
| 122 | propagate into various release channels (internal repositories, Google |
| 123 | Maven, etc.). **Do not** re-open an issue because the fix has not yet |
| 124 | propagated into a specific release channel. **Do not** re-open an issue that |
| 125 | has been fixed unless the fix was reverted or the exact reported issue is |
| 126 | still occurring. |
AndroidX Core Team | 2afabce | 2023-02-02 11:56:14 -0500 | [diff] [blame] | 127 | 1. A status of **WontFix** means that the issue cannot be resolved within a |
| 128 | year due to prioritization, staffing, etc. **Do not** re-open an issue that |
| 129 | has been marked as WontFix or file identical issues. Issues that are open to |
| 130 | reconsideration will be added to an internal hotlist and revisited when the |
| 131 | circumstances surrounding their closure have changed. |