1227 Commits

Author SHA1 Message Date
lauren n. liberda
8e74e57981 font_subset tests: name correct variant in exception (flutter/engine#51492)
font_subset tests now respect `--variant`, but the exception message hasn't been changed

*List which issues are fixed by this PR. You must list at least one issue.*
closes https://github.com/flutter/flutter/issues/145412

*If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-25 17:39:13 +00:00
Gray Mackall
48710ab05d Make the et feature request link properly add the github label (flutter/engine#51594)
The label has a space in it, so it doesn't get properly added with the current link.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-21 23:34:06 +00:00
Jason Simmons
762d37fd2e Move //buildtools to //flutter/buildtools (flutter/engine#51526) 2024-03-21 17:06:44 +00:00
gaaclarke
d527dd959e [golden_test_harvester]: Put back sending the dimensions to the SkiaGoldClient (flutter/engine#51536)
fixes https://github.com/flutter/flutter/issues/145413

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I added new tests to check the change I am making or feature I am
adding, or the PR is [test-exempt]. See [testing the engine] for
instructions on writing and running engine tests.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I signed the [CLA].
- [x] 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/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2024-03-20 15:49:16 -07:00
zijiehe@
1b0240f093 [Fuchsia] Remove the legacy tools/fuchsia/target_api_level file (flutter/engine#51497)
After https://github.com/flutter/buildroot/pull/839, the fuchsia_target_api_level becomes a variable in `build/config/fuchsia/gn_configs.gni`, so the target_api_level file and the related gn-args are obsolete and can be removed.

Since this change will also bring e9c4eebe21 in, add @jason-simmons as one of the reviewers.

Bug: http://b/40935282

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-19 17:36:14 +00:00
Brandon Castellano
37c82da210 Update fuchsia_libs.gni (flutter/engine#51447)
### Motivation of the change:

The Fuchsia SDK target //sdk/lib/vfs/cpp is being migrated to a shared
library in https://fxrev.dev/981373. The shared library has already been
included in the SDK as a dependency, but is missing from the OOT copies
of the runners used in tests
([shell/platform/fuchsia/flutter/BUILD.gn](https://github.com/flutter/engine/blob/main/shell/platform/fuchsia/flutter/BUILD.gn)).
This change adds the missing .so to these prebuilts.

### Blocking issue:

As part of an ongoing Fuchsia SDK migration effort, this library
requires migration in order to continue ongoing maintenance efforts. See
https://fxbug.dev/293936429 for details.

### Solutions:

This library is already included licensed under the exsting Fuchsia SDK
license. It can be verified as already existing in the distributed IDKs
due to it being added as a dependency early. The OOT test archives are
the last remaining step before switching the library to start using the
new .so.

Bug: [b/293936429](https://fxbug.dev/293936429)

FYI: @zijiehe

## Pre-launch Checklist
* [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
* [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
* [x] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
* [X] I listed at least one issue that this PR fixes in the description
above.
* [x] I added new tests to check the change I am making or feature I am
adding, or the PR is [test-exempt]. See [testing the engine] for
instructions on writing and running engine tests.
* [X]  I updated/added relevant documentation (doc comments with `///`).
* [x]  I signed the [CLA]. (I am a Googler)
* [x]  All existing and new tests are passing.

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2024-03-19 09:42:59 -07:00
Chinmay Garde
cf0b9e869c A native Android unit-testing harness. (flutter/engine#51479)
Sets up rules to create an APK that is comprised of solely native code. Existing executable targets (like GTests) can then use this to run on Android devices while having access to activities, windows, etc.. This allows for broader test coverage. Basically, anything that needed an ANativeWindow could only be tested in an integration test.

Executables that need access to the native activity must provide an implementation of `NativeActivityMain` that returns a custom subclass of `flutter::NativeActivity`. The `native_activity_apk` reads like an `executable` or `shared_library` target. Just one that packages that executable in an APK.

The APK is built using the Android Tools and does not use Gradle. Creating a new APK after invalidating some code takes ~200ms on my machine. The edit, compile, run cycle for only a tiny bit worse than testing on the host.

Builds on top of this new infrastructure to create a `GTestActivity` that runs an existing test suites. This works really well except the GTest suite logs to `STDOUT` whereas the engine logs to `logcat`. To quickly work around this, a custom test status listener has been wired up. This only displays the test results to logcat today but a similar mechanism can be used to talk to the test runner in the host. I will wire this up in an upcoming patch as there is no hooks into this from CI right now.

Creates an APK variant of the `impeller_toolkit_android_unittests` harness.
2024-03-18 22:32:08 +00:00
Zachary Anderson
66fa3dd66c Pass some missing --disable-dart-dev and --suppress-analytics to dart (flutter/engine#51473) 2024-03-17 08:46:11 -07:00
Jim Graham
95ce640b6a Silence gn warning about unused Skia flag (flutter/engine#51464)
This flag was generating an unused warning when running gn. The builds
would still be created and would build fine, but the warning is noise.
2024-03-15 19:20:22 -07:00
zijiehe@
fb4d1819e7 [Fuchsia] Remove the use of //build/ in fuchsia (flutter/engine#51072)
### Motivation of the change:

Both dart and flutter are using fairly outdated gn-sdk without properly maintained. Currently @hjfreyer is working on version'ed IDK / SDK libs which requires changes in gn-sdk to use the right version of the libs in fuchsia/sdk/obj/{arch}-api-{level} rather than the one in the fuchsia/sdk/arch. But current implementation does not support choosing the right version.

### Blocking issue:

The new gn-sdk (in flutter/tools/fuchsia/gn-sdk) generates multiple BUILD.gn files rather than a large BUILD.gn the previous version created. So most of the build rules need to switch from the old `fidl:{api}` build rule to `fidl/{api}` rule. The same change will happen in the dart/sdk, i.e. http://go/dart-reviews/356924. But since the two repos cannot have one single atomic change, changing either side first will cause flutter to break. E.g. the linkage error caused by duplicated symbols will happen if we change the dart/sdk first, since in flutter, it will still refer to the old build rules in the middle.

### Solutions:

Ideally we can create redirect rules in the current `build/fuchsia` buildroot tree to redirect the old rules into the new one, so we can make the change in the flutter first then dart/sdk. But creating the rules is not trivial and will only be used once.

So an alternative solution is

- pause the dart/sdk -> flutter roll
- submit dart/sdk change (http://go/dart-reviews/356924)
- update this change to manually bring the dart/sdk change, namely the `dart_revision` in the DEPS file and signatures in the ci/licences.
- resume the dart/sdk -> flutter roll.

But it requires this change itself to be reviewed first, and I'd like to know your opinion before moving forward.

See corresponding dart/sdk change at http://go/dart-reviews/356924.

### //build/fuchsia/ from buildroot should be removed after this change.

Bug: [b/40935282](https://issues.chromium.org/issues/40935282?pli=1&authuser=0)

FYI: @hjfreyer 

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-15 02:52:21 +00:00
Matan Lurey
9daf9265d9 Add some header-goodies for et. (flutter/engine#51434)
I.e. a "open issues" and "file an issue" link.

---------

Co-authored-by: Loïc Sharma <737941+loic-sharma@users.noreply.github.com>
2024-03-14 16:38:46 -07:00
Zachary Anderson
da1a3b464c [et] build and run commands disable RBE with a flag or when not available (flutter/engine#51404) 2024-03-14 14:30:41 -07:00
K Lubick
14255b337b Remove always-true skia_enable_flutter_defines (flutter/engine#51423)
Now that Flutter owns the list of defines to add to Skia's build, we don't need to toggle it on or off. This allows Skia to delete the setting (https://skia-review.googlesource.com/c/skia/+/826398)

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-14 18:57:20 +00:00
Matan Lurey
a954d2cfd4 Remove --enable-impeller-{backend} flags (always True). (flutter/engine#51402)
Closes https://github.com/flutter/flutter/issues/142725.
2024-03-13 22:13:29 -07:00
John McCutchan
aba108f662 Small improvements to et lint command (flutter/engine#51372)
- Default to dumping out lint logs (can be disabled with `--quiet`
flag).
- Add Logger.fatal which logs an error and throws a FatalError which is
caught in main.
- Simplify `findDartBinDirectory` implementation.
- Make JSON serialized process artifacts more human readable.
2024-03-13 13:39:08 -07:00
zijiehe@
224b7f08ff [Fuchsia] Enable sound null safety everywhere (flutter/engine#51355)
This change enables null_safety on fuchsia everywhere and remove the legacy conditions.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-13 17:56:05 +00:00
Jonah Williams
674874e613 [Impeller] attempt to get validation errors from CI unittests. (flutter/engine#51341)
Enables Vulkan validation layers for macOS and linux builds, enables macOS validation for macOS builds.

Fixes https://github.com/flutter/flutter/issues/144967

There may still be remaining issues with macOS validation, I need to verify I can reproduce https://github.com/flutter/flutter/issues/143324 . I plan to do that separately
2024-03-13 17:35:58 +00:00
John McCutchan
c2d3e6ce09 Add et lint command (flutter/engine#51238)
- Invokes lints for dart, python, c, and java.
- Captures all output of executions into an artifacts file (a json
file).
- Runs lints concurrently.
- Cool status display while running.
- Tests.
2024-03-12 23:29:25 -07:00
Matan Lurey
e889b287f1 Refactor golden_tests_harvester, throw when not --dry-run, add tests. (flutter/engine#51364)
Closes https://github.com/flutter/flutter/issues/144948.

I went a little farther, as I'm not looking forward to debugging this in the future without tests or examples.
2024-03-13 03:45:17 +00:00
Jackson Gardner
f646f9a40c Reland "Move emscripten out of the buildroot into the flutter repo" (flutter/engine#51353)
This is a reland of the change moving the emsdk out of the buildroot, but without the removal of `web_dependencies`, since that removal was causing issues with the rollers.
2024-03-12 18:32:08 +00:00
Chris Bracken
dd2227c9f9 Migrate perfetto to flutter/third_party (flutter/engine#51272)
Migrate perfetto from the buildroot's third_party directory to the engine's.

Issue: https://github.com/flutter/flutter/issues/144204
Part of: https://github.com/flutter/flutter/issues/67373

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-12 17:12:06 +00:00
auto-submit[bot]
0c2c540e72 Reverts "Move emscripten out of the buildroot into the flutter repo. (#51299)" (flutter/engine#51330)
Reverts: flutter/engine#51299
Initiated by: zanderso
Reason for reverting: Blocking the autoroller
Original PR Author: eyebrowsoffire

Reviewed By: {matanlurey}

This change reverts the following previous change:
This migrates the emscripten toolchain into the flutter repo, as well as the fonts for web unit tests. Also, removed the `web_dependencies` thing which is no longer used.

This fixes https://github.com/flutter/flutter/issues/143332

Depends on a buildroot change here: https://github.com/flutter/buildroot/pull/833
2024-03-11 20:39:25 +00:00
Jackson Gardner
048ee12c07 Move emscripten out of the buildroot into the flutter repo. (flutter/engine#51299)
This migrates the emscripten toolchain into the flutter repo, as well as the fonts for web unit tests. Also, removed the `web_dependencies` thing which is no longer used.

This fixes https://github.com/flutter/flutter/issues/143332

Depends on a buildroot change here: https://github.com/flutter/buildroot/pull/833
2024-03-11 17:24:19 +00:00
Zachary Anderson
0b18c484ac Explicitly list Android embedding dependency jars in GN (flutter/engine#51303)
Part of https://github.com/flutter/flutter/issues/144430.

From `gn help inputs`: "It may be tempting to write a script that
enumerates all files in a directory
  as inputs. Don't do this!"
2024-03-09 12:02:46 -08:00
Zachary Anderson
286169bb52 Don't rely on dart binary on PATH in run_test.py (flutter/engine#51302) 2024-03-08 23:49:32 +00:00
Chinmay Garde
4f8e474738 Update the instructions for updating licenses. (flutter/engine#51297)
* Adds markdown formatting to better highlight the important bits.
* Removes the bit about patch files not being valid because they are
copied from the GitHub UI (we use LUCI now).
* Add a shortcut for Mac to apply the patch from your pasteboard.
2024-03-08 15:18:01 -08:00
Dan Field
a4c787e072 Use io.flutter.Build.API_LEVELS rather than android.os.Build.VERSION_CODES (flutter/engine#51171)
Updates the linting script to ban the use of `VERSION_CODES`.

We currently have a mish-mash of using the integers, using `VERSION_CODES`, and even how we import the version codes. This makes it more confusing when doing things like #51070 - I think it is clearer to see `22` than `LOLLIPOP_MR1`.

I'd like to get LGTM (or at least no opinion) from all the requested reviewers here.
2024-03-08 19:04:20 +00:00
zijiehe@
3ad51979fd [Fuchsia] Providing FUCHSIA_SDK_PATH env var for fuchsia lsc (flutter/engine#51234)
This change updates test-scripts with https://crrev.com/c/5347216 so that it can override the sdk location from an env var. The override location can be used by update_product_bundles to download emulator images of an unreleased sdk from gcs buckets. The process is used by fuchsia lsc (https://ci.chromium.org/ui/p/turquoise/builders/global.ci/sdk-core-linux-flutter), now it's failing due to the wrong product_bundle location being used.

This change should have no impact to the existing builders since they do not use either gclient variables relevant. E.g. download_fuchsia_sdk and fuchsia_sdk_path.

Bug: http://b/328110079

FYI: @mbrase 

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-08 17:21:05 +00:00
Chris Bracken
c1415300a1 Migrate vulkan_memory_allocator to flutter/third_party (flutter/engine#51275)
Migrates vulkan_memory_allocator from the buildroot's third_party directory to the engine's.

Issue: https://github.com/flutter/flutter/issues/144812
Part of: https://github.com/flutter/flutter/issues/67373

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-08 17:17:16 +00:00
Jason Simmons
7da9c29b79 Update CI scripts to use either src/flutter/third_party/dart or src/third_party/dart (flutter/engine#51276)
See https://github.com/flutter/flutter/issues/143335
2024-03-08 17:00:17 +00:00
Martin Kustermann
899fc2a7e0 Add fuchsia_gn_sdk GN variable pointing to //flutter/tools/fuchsia/gn-sdk (flutter/engine#51287)
The Dart -> Flutter Engine autoroller seems to be failing atm due to
fuchsia build errors.

The Dart SDK CL in [0] is depending on a fuchsia gn sdk import. The
import path defaults to `//third_party/fuchsia/gn-sdk` in the Dart build
rules.

Though flutter seemingly has it in `//flutter/tools/fuchsia/gn-sdk`
(which was added to DEPS in c274921fa6034e5e133129967c0789ab8c7fc827)

=> This is an attempt to override the default & fix autoroller

[0] https://dart-review.googlesource.com/c/sdk/+/355283/14
2024-03-08 14:49:37 +01:00
Chris Bracken
0575633c34 Move ANGLE to flutter/third_party (flutter/engine#51270)
This moves Flutter out of the buildroot's third_party directory and into
//flutter/third_party and updates all BUILD and gni files.

Issue: https://github.com/flutter/flutter/issues/144786
Part of: https://github.com/flutter/flutter/issues/67373

## Pre-launch Checklist

- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I added new tests to check the change I am making or feature I am
adding, or the PR is [test-exempt]. See [testing the engine] for
instructions on writing and running engine tests.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] The odds of this passing on its first CI run is 0%, because
there's no way the licence script isn't going to have a fit over it, at
which point I promise on my honour that I will dutifully fix all the
things it complains about and re-run, probably more than once.
- [X] This PR fulfils the minimum [Canadian
Content](https://www.youtube.com/watch?v=h9NMnPm5kXc&list=PLJ7QPuvv91JuoPWrLhqX0zDFUoLdynMEk&index=3)
regulations mandated by the CRTC.
- [X] I signed the [CLA].
- [X] 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/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2024-03-07 16:23:14 -08:00
Zachary Anderson
0fb043e6f6 [gn] Disable running some python scripts from GN (flutter/engine#51248)
For https://github.com/flutter/flutter/issues/144430
2024-03-07 22:18:12 +00:00
Chris Bracken
b9d7f23abd Migrate build_overrides from buildroot to engine (flutter/engine#51258)
Files under the build_overrides directory in the buildroot are typically hardcoded imports in third-party dependencies used for project-specific configuration. For example, ANGLE hardcodes an import of `//build_overrides/angle.gni` so that consumers of ANGLE can configure the build to their needs.

This adds a copy all existing src/build_overrides files at the equivalent `src/flutter/build_overrides` path in the engine. A followup patch will replace each existing file under `src/build_overrides` in the buildroot with a shim that just imports the files landed in this patch. This allows third-party dependencies to continue hardcoding the `//build_overrides/foo.gni` path, but provides a seamless path forward when we drop the buildroot.

Issue: https://github.com/flutter/flutter/issues/144790
Part of: https://github.com/flutter/flutter/issues/67373

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-07 21:42:06 +00:00
Chris Bracken
0e6d56bc1c Move Abseil from src to flutter third_party dir (flutter/engine#51245)
In combination with:
* https://flutter-review.googlesource.com/c/third_party/abseil-cpp/+/55848
* https://github.com/flutter/buildroot/pull/831

this updates Flutter's references to Abseil from
//third_party/abseil-cpp to //flutter/third_party/abseil-cpp.

Issue: https://github.com/flutter/flutter/issues/144201
Part of: https://github.com/flutter/flutter/issues/67373

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-07 01:19:17 +00:00
Loïc Sharma
8f1baa30bb [et] Allow users to update dependencies (flutter/engine#51177)
Allow users to update dependencies. Examples:

* `et fetch` Fetch dependencies

In the future, `et build` will update dependencies if it detects that they have changed.

Also:
* Updates the status in the README
* Adds instructions on how to run tests
* Fixes `et run`'s description
* Makes the `--verbose` flag global
2024-03-06 17:00:23 +00:00
Loïc Sharma
d6bd7667e9 Fix git hooks on Windows (flutter/engine#51203)
Windows does not pre-install python3. Previously Windows users would just use Python from depot tools, but this was broken by https://github.com/flutter/engine/pull/51156.
2024-03-05 22:54:42 +00:00
Zachary Anderson
408b0a8231 Fix typo in githook message (flutter/engine#51205) 2024-03-05 12:02:54 -08:00
John McCutchan
5a25c24c43 Add device selection to et run (flutter/engine#51184)
- `et run` now detects the target device automatically and builds the
related engine builds.
- `et run -- -d <device-id>` also works.
2024-03-05 10:49:05 -08:00
Zachary Anderson
6220641bde Adds githooks that reminds to run gclient sync -D (flutter/engine#51156)
This PR adds githooks for `post-checkout`, `post-merge`, `pre-rebase`
that remind to run `gclient sync -D`. This is probably going to print
the reminder too much. The `pre-rebase` hook runs before a `git pull
--rebase` that is actually going to update something, but the other
hooks may be needed to cover other workflows. The printed message will
also include the hook that it comes from, so we can remove the message
from hooks where it doesn't make sense.

<img width="670" alt="Screenshot 2024-03-04 at 18 36 15"
src="https://github.com/flutter/engine/assets/6343103/4d3e4661-035d-4ed6-8ed6-2a05b372bf65">
2024-03-05 10:23:34 -08:00
Zachary Anderson
8928d5284c Folds concurrent job calculation into tools/gn (flutter/engine#51193)
Folds the `get_concurrent_jobs.py` script into `tools/gn` and stops calling it with `exec_script()` during GN.

Part of https://github.com/flutter/flutter/issues/144430
2024-03-05 17:57:14 +00:00
Zachary Anderson
1d7737e0a0 Shift git version fetching to tools/gn (flutter/engine#51175)
Avoids GN invoking python scripts that run git commands to determine git
hashes.

Part of https://github.com/flutter/flutter/issues/144430
2024-03-04 18:14:04 -08:00
Dan Field
19296c0ffd Guard against API 22 (flutter/engine#51167)
This was introduced in #51070 - my grepping for `LOLLIPOP` was too aggressive, and apparently the linter didn't catch this. I think it's just a bug in the linter.

Fixes b/327717572, because Google internal tests caught this.
2024-03-04 18:40:19 +00:00
Zachary Anderson
49b2bad89d Run apple SDK finders as gclient hooks (flutter/engine#50957)
Currently, these scripts run on each invocation of `gn`, and can take
many seconds to run.

This PR shifts them to run as `gclient` hooks instead, so that `gn` will
be faster.

Needs https://github.com/flutter/buildroot/pull/825.
2024-02-29 18:14:31 -08:00
Matan Lurey
7b7d9a2f43 Add a basic e2e-test for skia_gold_client. (flutter/engine#51078)
Basically, I take blank images of red/blue/green squares, like this:

![solid_red_square](https://github.com/flutter/engine/assets/168174/b1de63e4-8c3c-43ff-9bcf-b067a7e9d920)

... and use Image Magick to annotate it with the current git hash:

```sh
$ drt ./testing/skia_gold_client/tool/generate.dart

Writing annotation "8069cb4ca1" on images in testing/skia_gold_client/tool/source_images and saving them in testing/skia_gold_client/tool/e2e_fixtures.
Writing to testing/skia_gold_client/tool/e2e_fixtures/solid_red_square.png
Writing to testing/skia_gold_client/tool/e2e_fixtures/solid_green_square.png
Writing to testing/skia_gold_client/tool/e2e_fixtures/solid_blue_square.png
Done: wrote 3 image.
```

![solid_red_square](https://github.com/flutter/engine/assets/168174/0ece31a8-9e64-44a2-ad06-78c04b02650c)

... then, I upload the digests very similar to how we do it in `scenario_app`.

---

The idea here is to have a way for me to know if Skia gold is working the way I/we expect, independent of a more complicated test suite with various race-y or flake-y conditions. We could also augment it with tests of "dimensions" properties.
2024-03-01 01:33:07 +00:00
John McCutchan
0be7a9c4f0 Add et run command (flutter/engine#51037)
The `run` command builds both the host and target engines and then invokes `flutter run` so that it runs the app using the custom engine builds.

It is expected that 'et run' be used inside the directory of a flutter application.

Command line flags passed after `--` will be forwarded to `flutter run`.

Some examples:

- `et run` Build the debug variant and runs the app in that mode.
- `et run -- --profile` Build the profile variant and runs the app in that mode.
- `et run -- --release` Build the release variant and runs the app in that mode.

Also:

- Start a local_engine.json builder definition (it is missing a lot)
- Tweak the test fixture.
- Add a new Matcher to litetest.
- Tweaked the build config linter to only care about duplicate build names within the same builder.
2024-03-01 01:09:04 +00:00
Dan Field
2e9e6107eb Reapply "Bump everything to Android 21" (#51056) (flutter/engine#51070)
This reverts commit 98485b3f82fec45a6a0ac932c3c20285a9a14e02.

Reverted in https://github.com/flutter/engine/pull/51056 because it
caused failures in the framework. No changes, but framework test has
been updated to use an actual robolectric implementation to avoid those
failures.

This should not land until
https://github.com/flutter/flutter/pull/144348 has landed in the
framework.

@gaaclarke @johnmccutchan fyi
2024-02-29 09:00:01 -08:00
Dan Field
98485b3f82 Revert "Bump everything to Android 21" (flutter/engine#51056)
Reverts flutter/engine#51032

Probably causing some of the failures in https://github.com/flutter/flutter/pull/144326

@johnmccutchan fyi
2024-02-28 19:15:04 +00:00
Dan Field
6efee79357 Bump everything to Android 21 (flutter/engine#51032)
Followed the linter, got rid of a bunch of version check/guards we don't need anymore.
2024-02-28 15:56:40 +00:00
John McCutchan
cdeb8166a2 Rename some classes in the engine_build_configs package (flutter/engine#51016)
- BuildConfig -> BuilderConfig
- GlobalBuild -> Build
2024-02-27 15:12:10 -08:00