flutter/docs/engine/Testing-presubmit-Engine-PRs-with-the-Flutter-framework.md
Kate Lovett 722c8d62fd
[wiki migration] Engine team pages (#148696)
This sorts the wiki pages owned by the Engine team in the docs/ directory as planned in [flutter.dev/go/migrate-flutter-wiki-spreadsheet](https://docs.google.com/spreadsheets/d/1x65189ZBdNiLRygpUYoU08pwvXD4M-Z157c6pm8deGI/edit?usp=sharing) 

It also adds the engine and team-engine labels to the bot for future PRs.

Changes to the content were only updating cross links. The remaining wiki links will be updated after the rest of the pages are relocated, the original wiki links still work in the meantime.

Part of https://github.com/flutter/flutter/issues/145009
2024-05-20 23:40:42 +00:00

2.7 KiB

Running Framework presubmit tests on Engine PRs

This documentation describes how to run flutter/flutter presubmit checks on flutter/engine PRs before submitting them.

Overview

  1. Wait for all presubmit checks on your flutter/engine PR to be green.
  2. Determine the commit hash for your flutter/engine PR.
  3. Create and upload a flutter/flutter PR, (OR run tests locally).
  4. Wait for flutter/flutter presubmits/tests to run .

Step (1) is the usual flutter/engine workflow.

2. The commit hash

  1. Go to the "Commits" tab in the GitHub UI for you Engine PR.
  2. Click the button to copy the most recent commit hash to your clipboard.
Screenshot 2023-08-04 at 12 54 55 PM

3. Create and upload a flutter/flutter PR.

Edit your flutter/flutter checkout as follows:

  1. bin/internal/engine.version should be edited to contain the commit hash from (2).
  2. bin/internal/engine.realm should be edited to contain the string flutter_archives_v2.

To run flutter/flutter presubmits on CI, you can accomplish these two edits directly in the GitHub editor UI, if desired. Otherwise, upload a flutter/flutter PR with these changes.

You can also build apps, and run tests locally at this point.

4. Wait for flutter/flutter presubmits to run .

The flutter/flutter presubmit checks will run. There will be at least two failures:

  1. A Flutter CLI test will ensure that a PR with a non-empty engine.realm file will fail a presubmit check.
  2. The fuchsia_precache test will fail because Fuchsia artifacts are not uploaded from Engine presubmit runs.

Any other failures are possibly due to the changes to flutter/engine, so deflake and examine them carefully.

5. Devicelab tests

A subset of devicelab tests are available for optionally running in presubmit on flutter/flutter PRs. They are the tests listed in the flutter/flutter .ci.yaml file that are prefixed with Linux_android, Mac_android, and Mac_ios.

To run one of these tests, remove the line presubmit: false from the .ci.yaml file under the test you'd like to run. For an example, see the PR here.

Screenshot 2023-09-21 at 3 19 51 PM

This will trigger the devicelab test to run. The test will show up in the list of presubmit checks, and you can click through to the LUCI page to see the results.