# Flutter Infra Team Triage _Canonical Link: [flutter.dev/to/team-infra](https://flutter.dev/to/team-infra)._ This doc details how to triage and work on issues marked [`team-infra`][]. [`team-infra`]: https://github.com/flutter/flutter/issues?q=is%3Aissue%20state%3Aopen%20label%3Ateam-infra --- The _infrastructure_ sub-team works a bit differently than our externally facing product, as it is producing (and maintaining) infrastructure _for_ Flutter, which includes tools and services that are open source but are **not supported for external use**. As a result, our process _differs_ from the general [issue hygiene](../contributing/issue_hygiene/) and [issue triage](README.md): - We [own](#ownership) _general_ infrastructure, and decline other requests - We use [_priority_ labels](#priorities) to mean specific things - We accept [contributions](#contributing) in a more limited fashion - We [close issues](#we-prefer-closing-issues) we do not plan to address and will not accept contributions on This process allows us to have a more organized handle on the number of open issues potentially affecting the team's velocity, including critical components like release health. Table of contents: - [Triage](#triage) - [Ownership](#ownership) - [Priorities](#priorities) - [P0](#p0) - [P1](#p1) - [P2](#p2) - [P3](#p3) - [We prefer closing issues](#we-prefer-closing-issues) - [Contributing](#contributing) - [Communication](#communication) - [How to contact us](#how-to-contact-us) ## Triage Links: - [P0 list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-infra+label%3AP0+sort%3Aupdated-asc) - [Cocoon PRs](https://github.com/flutter/cocoon/pulls) - [GoB CLs](https://flutter-review.googlesource.com/q/status:open+-is:wip) - [Incoming issue list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-infra%2Cfyi-infra+-label%3Atriaged-infra+no%3Aassignee+-label%3A%22will+need+additional+triage%22+sort%3Aupdated-asc) - [Latest updated issue list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-infra%2Cfyi-infra+sort%3Aupdated-desc) ## Ownership The infra sub-team owns _general_ infrastructure that is often shared or used across the Flutter project, but _not all_ testing and or tooling infrastructure; that is, unless the tool is mentioned below, we may decline or direct you at another sub-team: - General CI/CD issues affecting [flutter/flutter](https://github.com/flutter/flutter) or [flutter/packages](https://github.com/flutter/packages) - The [dashboard](https://flutter-dashboard.appspot.com/) - Anything in [flutter/cocoon](https://github.com/flutter/cocoon), [flutter/recipes](https://flutter.googlesource.com/recipes/), and [flutter/infra](https://flutter.googlesource.com/infra/) - _Some_ of the general infrastructure in [`dev/**`](../../dev) ## Priorities Our prioritization is _similar_ to [team-wide priorities](../contributing/issue_hygiene/README.md#priorities), but with a few more specifics. Unless you work _on_ the infra team, we ask you do not add or change priority labels. ### [P0](https://github.com/flutter/flutter/issues?q=state%3Aopen%20label%3Ateam-infra%20label%3AP0) An **emergency** that needs to be addressed ASAP as there is no reasonable workaround. P0s are worked on actively, with an update shared with the core team at least once a week, and supercede _all_ other priorities (i.e. are a "stop work" order on other issues). Examples might include: - PRs cannot be submitted - Updating a PR, or pushing blank commits, do not trigger presubmits - A serious security or privacy vulnerability in a deployed release ### [P1](https://github.com/flutter/flutter/issues?q=state%3Aopen%20label%3Ateam-infra%20label%3AP1) An important change that would significantly improve productivity for the team, or significantly improve reliability of the infrastructure (causing less P0 and P1 issues). If an issue has not been pre-aligned with the team, or does not have a sponsor from another team that will be immediately responsible for a feature or bug fix, then P1 is _not_ suitable. Examples might include: - PRs can only be submitted with workarounds - Presubmits or postsubmits across the board have degraded in speed or reliability ### [P2](https://github.com/flutter/flutter/issues?q=state%3Aopen%20label%3Ateam-infra%20label%3AP2) A change we agree with, but do not have bandwidth for. An individual _could_ meaningfully make progress on this issue, and we would review it. If there are no volunteers, it may never be completed. _See also: [contributing](#contributing)._ ### [P3](https://github.com/flutter/flutter/issues?q=state%3Aopen%20label%3Ateam-infra%20label%3AP3) A change we agree with, but would require significant maintenance. While an individual _could_ meaningfully make progress on this issue, we would _not_ review and accept it, as the cost of maintaining it is beyond what we can currently sustain. Our own team's discretion is used for what P3 issues are left open, and which are [closed as not planned](#we-prefer-closing-issues). _See also: [contributions](#contributions)._ ## We prefer closing issues [Unlike the external Flutter product](../contributing/issue_hygiene/README.md#closing-issues), we do not accept contributions on all issues, and run the `team-infra` label more like an operations team; that is, if an issue is unlikely to be addressed or does not meet the [priorities criteria](#priorities) above, we often will close the issue as _not planned_. An issue closed as _not planned_ does not mean the issue does not have validity, or that a subsequent more fleshed out issue or request would get more attention, it just represents the limited bandwidth and capability of the team responsible. We encourage you/your team to manage your own "wishlist" of items, which could be in the format of a github issue (but _not_ tagged `team-infra`), a gist, a github project, a Google doc, or another format, and to [share it with us](#how-to-contact-us). _See also: [contributing](#contributing)._ ## Contributing This sub-team has a more limited contributions policy than other parts of the project, as we build and support tools that are **not supported** as part of the Flutter product, including internal CI/CD and tooling. In general, [P2](#p2) issues are a great way to contribute, as they have already been actively vetted as "this is important to us" and "we would accept a PR or PRs that address this bug or feature request". For other issues, if you are part of the core Flutter team, please [contact us](#how-to-contact-us). ## Communication The team primarily uses GitHub and internal Google chat for communication, which is unavailable to non-Google employees. For issues that are important to the broader community, we use [Discord](https://discord.com/channels/608014603317936148/608116355836805126) and [flutter-announce@](https://groups.google.com/g/flutter-announce) as needed. ### How to contact us If you work at Google, see [go/flutter-infra-team](http://goto.google.com/flutter-infra-team). Otherwise, see [#hackers-infra](https://discord.com/channels/608014603317936148/608021351567065092) on Discord. Note responses may be infrequent.