mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00

Based on our discussions internally, making this available externally so we can link to it more easily.
170 lines
7.1 KiB
Markdown
170 lines
7.1 KiB
Markdown
# 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.
|