This repository was archived by the owner on Feb 25, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6k
[docs] Add missing steps to Testing Presubmit Engine PRs #54593
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,23 +2,31 @@ | |
|
||
This documentation describes how to run flutter/flutter presubmit checks on flutter/engine PRs before submitting them. | ||
|
||
# Overview | ||
## 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 ☕. | ||
1. Enable the web SDK presubmits. | ||
2. Wait for all presubmit checks on your flutter/engine PR to be green. | ||
3. Determine the commit hash for your flutter/engine PR. | ||
4. Create and upload a flutter/flutter PR, (OR run tests locally). | ||
5. Wait for flutter/flutter presubmits/tests to run ☕. | ||
6. Edit `.ci.yaml` to uncomment the `runIf` block you commented out above. | ||
|
||
Step (1) is the usual flutter/engine workflow. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Deleted the implication that there's anything usual about this workflow, but also there's a new (1) in town. |
||
## 1. Edit .ci.yaml | ||
|
||
# 2. The commit hash | ||
Edit [`.ci.yaml`](https://github.com/flutter/engine/blob/main/.ci.yaml) to comment out the `runIf:` block in `linux_web_engine`. This will ensure Flutter Web artifacts build, otherwise most framework tests will fail during precache. | ||
|
||
## 2. Wait | ||
|
||
Contemplate the nature of the universe or why it is that this workflow was necessary for your situation. Could tests have been added to the engine? If not, get youself some coffee and a cookie. You'll need them. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ❤️ There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Perhaps a jar to keep the tears you will shed during this 3h process. 😂 |
||
|
||
## 3. The commit hash | ||
|
||
1. Go to the "Commits" tab in the GitHub UI for you Engine PR. | ||
1. Click the button to copy the most recent commit hash to your clipboard. | ||
|
||
<img width="1128" alt="Screenshot 2023-08-04 at 12 54 55 PM" src="https://github.com/flutter/flutter/assets/6343103/491be0dd-e29b-4057-a077-3a28d3beec9e"> | ||
|
||
# 3. Create and upload a flutter/flutter PR. | ||
## 4. Create and upload a flutter/flutter PR. | ||
|
||
Edit your flutter/flutter checkout as follows: | ||
|
||
|
@@ -29,15 +37,15 @@ To run flutter/flutter presubmits on CI, you can accomplish these two edits dire | |
|
||
You can also build apps, and run tests locally at this point. | ||
|
||
# 4. Wait for flutter/flutter presubmits to run ☕. | ||
## 5. 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. | ||
1. 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 | ||
## 6. 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](https://github.com/flutter/flutter/blob/main/.ci.yaml) file that are prefixed with `Linux_android`, `Mac_android`, and `Mac_ios`. | ||
|
||
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does
test: all
work in the engine repo?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is
test: all
?