flutter/docs/Flutter-Self-Service-Index.md
Tong Mu 97b5264fcc
Migrate in-comment links of the flutter/engine repository to the flutter/flutter repository (#166790)
This PR migrates almost all in-comment links that points to the main
branch of flutter/engine repository to the flutter/flutter repository,
ensuring that such links are always up to date.

I've manually verified that all links are valid. There are a few cases
where the migration is not so trivial and I had to look up for the
updated location or line number, but I'm pretty sure the new value is
correct.

The only place that I don't know how to migrate is two links in
[Upgrading-pre-1.12-Android-projects.md](https://github.com/flutter/flutter/blob/master/docs/platforms/android/Upgrading-pre-1.12-Android-projects.md)
pointing to
`https://github.com/flutter/engine/blob/main/shell/platform/android/io/flutter/app/FlutterActivity.java`,
which I guess no longer exists.

There are still many links that point to a specific branch or revision
of the engine repo. I don't think we need to migrate these links, since
they're probably not meant to be kept up to date.

## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-04-10 15:58:23 +00:00

319 lines
8.8 KiB
Markdown

## Flutter Self Service Index
Flutter provides multiple functionality through self-service services. Most of these services are available to any member of the Flutter GitHub organization.
### Audiences
<table>
<tr>
<td><strong>Name</strong>
</td>
<td><strong>Description</strong>
</td>
</tr>
<tr>
<td>Flutter contributors
</td>
<td>Anyone contributing to the flutter organization independently of membership to the organization.
</td>
</tr>
<tr>
<td>Flutter organization members
</td>
<td>[Anyone with write access to the flutter organization resources.](./contributing/Contributor-access.md)
</td>
</tr>
<tr>
<td>Googlers
</td>
<td>Members of the Flutter Organization that are also Googlers.
</td>
</tr>
<tr>
<td>Flutter organization administrators
</td>
<td>Members of the Flutter organization that have write access to the organization's settings.
</td>
</tr>
</table>
### Infrastructure
<table>
<tr>
<td><strong>Service</strong>
</td>
<td><strong>Description</strong>
</td>
<td><strong>Audience</strong>
</td>
<td><strong>Documentation</strong>
</td>
<td><strong>Location</strong>
</td>
</tr>
<tr>
<td>.ci.yaml
</td>
<td>Configuration file to instruct the Flutter Infrastructure which tasks to use to validate commits in a given repository. ".ci.yaml" is read from the top level folder of every supported repository.
</td>
<td>Flutter contributors
</td>
<td><a href="https://github.com/flutter/cocoon/blob/main/CI_YAML.md">Link</a>
</td>
<td>Top level folder of the GitHub repositories. E.g. <a href="https://github.com/flutter/flutter/blob/main/.ci.yaml">flutter/flutter</a>.
</td>
</tr>
<tr>
<td>Engine build configurations
</td>
<td>Configuration files to describe Flutter Engine builds and tests.
</td>
<td>Flutter contributors
</td>
<td><a href="https://github.com/flutter/flutter/blob/main/engine/src/flutter/ci/builders/README.md">Link</a>
</td>
<td><a href="https://github.com/flutter/engine/tree/main/ci/builders">engine/ci/builders</a> in the <a href="https://github.com/flutter/engine/tree/main">flutter/engine</a> repository contains all the current configuration files.
</td>
</tr>
<tr>
<td>Autosubmit
</td>
<td>GitHub application that auto-submits pull requests that meet the approval criteria.
</td>
<td>Flutter organization administrators
</td>
<td><a href="go/enabling_autosubmit">Link</a>
</td>
<td>The application code is available in the <a href="https://github.com/flutter/cocoon/tree/main/auto_submit">flutter/cocoon</a> repository.
</td>
</tr>
<tr>
<td>FirebaseLab tests
</td>
<td>Special type of tests configured through .ci.yaml that use resources from FirebaseLab
</td>
<td>Flutter contributors
</td>
<td>[Link](./infra/Flutter-FirebaseLab-Tests.md)
</td>
<td>These configurations go directly in the .ci.yaml file of <a href="https://github.com/flutter/flutter">flutter/flutter</a> repository.
</td>
</tr>
<tr>
<td>Codesigning
</td>
<td>Add metadata to engine artifacts for code signing infrastructure to sign them.
</td>
<td>Flutter contributors
</td>
<td>[Link](./engine/release/Code-signing-metadata.md)
</td>
<td>GN files and global generator scripts in the <a href="https://github.com/flutter/engine">flutter/engine</a> repository.
</td>
</tr>
<tr>
<td>Emulators support
</td>
<td>Using android emulators from tests.
</td>
<td>Flutter contributors
</td>
<td>[Link](./platforms/android/Testing-Android-Changes-in-the-Devicelab-on-an-Emulator.md)
</td>
<td>Flutter GitHub Wiki page under the “Android Development” Section.
</td>
</tr>
<tr>
<td>Rerun GitHub presubmit test using command line
</td>
<td>Run presubmit tasks using `reset-try-task` end point and gcloud CLI.
</td>
<td> Googlers
</td>
<td><a href="https://g3doc.corp.google.com/company/teams/flutter/infrastructure/playbook.md?cl=head#manually-trigger-try-pre-submit-builds">Link</a>
</td>
<td>Source code is available <a href="https://github.com/flutter/cocoon/blob/main/app_dart/lib/src/request_handlers/reset_try_task.dart">here</a>
</td>
</tr>
<tr>
<td>Rerun postsubmit test from Flutter build dashboard
</td>
<td>Re-run postsubmit tasks from the go/flutter-dashboard.
</td>
<td> Googlers
</td>
<td><a href="https://screenshot.googleplex.com/3CgvqjbPEuoLzXs">Link</a>
</td>
<td>Source code is available <a href="https://g3doc.corp.google.com/company/teams/flutter/go/flutter-dashboard">go/flutter-dashboard</a>
</td>
</tr>
<tr>
<td>Run a test multiple times in parallel via LED
</td>
<td>Run a shard test against a pull request to validate changes/fixes in parallel.
</td>
<td> Googlers
</td>
<td><a href="https://g3doc.corp.google.com/company/teams/flutter/infrastructure/playbook.md?cl=head#run-a-shard-multiple-times-in-parallel-via-led">Link</a>
</td>
<td>N/A
</td>
</tr>
<tr>
<td>Create a CIPD package
</td>
<td>Create and add the package build scripts to cocoon to enable auto building and uploading to flutter CIPD namespaces.
</td>
<td> Flutter contributors
</td>
<td><a href="https://github.com/flutter/cocoon/tree/main/cipd_packages">Link</a>
</td>
<td>Flutter public CIPD namespace: <a href="https://chrome-infra-packages.appspot.com/p/flutter">flutter</a>
</td>
</tr>
<tr>
<td>View Infra SLO metrics
</td>
<td>DataSite with links to a collection of Engineering Productivity dashboards including infrastructure, release and rolls.
</td>
<td> Googlers
</td>
<td><a href="https://data.corp.google.com/sites/dash_infra_metrics_datasite/infra_slo_metrics/">Link</a>
</td>
<td>N/A
</td>
</tr>
</table>
### Release
<table>
<tr>
<td><strong>Service</strong>
</td>
<td><strong>Description</strong>
</td>
<td><strong>Audience</strong>
</td>
<td><strong>Documentation</strong>
</td>
<td><strong>Location</strong>
</td>
</tr>
<tr>
<td>Create non flutter release candidate branches
</td>
<td>Self service to create release candidate branches used by products different than flutter
</td>
<td> Googlers
</td>
<td><a href="https://g3doc.corp.google.com/company/teams/flutter/go/flutter-self-service-branches">Link</a>
</td>
<td>N/A
</td>
</tr>
<tr>
<td>Request 1P cherry picks
</td>
<td>Request approvals for cherry picks to release candidate branches
</td>
<td> Googlers
</td>
<td><a href="https://g3doc.corp.google.com/company/teams/flutter/go/flutter-cp">Link</a>
</td>
<td><a href="https://g3doc.corp.google.com/company/teams/flutter/github.com/flutter/flutter">flutter/flutter</a>
</td>
</tr>
<tr>
<td>G3 Fixes
</td>
<td>Apply G3 fixes that are automatically applied during the roll process.
</td>
<td> Googlers
</td>
<td><a href="https://g3doc.corp.google.com/company/teams/flutter/go/flutter-life-of-a-pr#g3fix">Link</a>
</td>
<td>N/A
</td>
</tr>
<tr>
<td>Single command releases
</td>
<td>Creating a third party flutter release with multi party approvals.
</td>
<td> Release Engineering
</td>
<td><a href="https://g3doc.corp.google.com/company/teams/flutter/go/flutter-release-workflow#push">Link</a>
</td>
<td>N/A
</td>
</tr>
</table>
### Security
<table>
<tr>
<td><strong>Service</strong>
</td>
<td><strong>Description</strong>
</td>
<td><strong>Audience</strong>
</td>
<td><strong>Documentation</strong>
</td>
<td><strong>Location</strong>
</td>
</tr>
<tr>
<td>Vulnerability scanning and fixes validation
</td>
<td>Automatic scanning of c, c++ third party dependencies and vulnerability. fix validation.
</td>
<td>Flutter organization members
</td>
<td><a href="https://github.com/flutter/engine/security/code-scanning">Link</a>
</td>
<td><a href="https://github.com/flutter/engine/security">Engine GitHub security tab</a>.
</td>
</tr>
<tr>
<td>Request write access to non-prod GCP projects
</td>
<td>
</td>
<td> Googlers
</td>
<td><a href="https://g3doc.corp.google.com/company/teams/flutter/security/gcp_security/aod_roles_for_dash_projects.md?cl=head#available-groups">Link</a>
</td>
<td>N/A
</td>
</tr>
<tr>
<td>Rolling non-auto-updating 3p mirrored deps
</td>
<td>Dependencies on mirrors that do not automatically roll changes from their upstream might need to be manually rolled
</td>
<td> Googlers
</td>
<td><a href="https://g3doc.corp.google.com/company/teams/flutter/security/third_party_deps/index.md?cl=head#rolling-mirrored-dependencies">Link</a>
</td>
<td>N/A
</td>
</tr>
</table>
Googlers can access the internal version using [go/flutter-self-service](http://go/flutter-self-service)