183 Commits

Author SHA1 Message Date
godofredoc
5b6044864e Apply the right tag for linux fuchsia cipd packages. (flutter/engine#46123)
The cipd packages were all being uploaded and tagged with git:HEAD.

Bug: https://github.com/flutter/flutter/issues/126461

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-20 22:08:05 +00:00
Matan Lurey
6b09ca7f44 Delete ci/lint.sh, which is no longer used. (flutter/engine#46049)
Found out while working on
https://github.com/flutter/flutter/issues/134969.

I suspect this stopped being used when we sharded out the Clang Tidy
builders?
2023-09-20 11:29:10 -07:00
Chris Yang
110ec685de [ios] Reland "[ios] use python script to generate extension safe frameworks and code sign them" #46004" (flutter/engine#46014)
Relands https://github.com/flutter/engine/pull/45781
The Flutter.framework and the sim folders are mistakenly added to the artifact, this PR removed those files along with re-landing the original changes 

https://github.com/flutter/flutter/pull/134966 should pass with this change. 

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-20 16:18:21 +00:00
godofredoc
3c2c0cc1fe Use magic envs to pass commit and temp folder. (flutter/engine#46015)
The fuchsia scripts rely on paths and the commit version being passed as parameters. This changes pass those values using special environment variables.

Bug: https://github.com/flutter/flutter/issues/126461

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-20 02:42:19 +00:00
Jackson Gardner
7f3c15c543 Update CI to Chrome 117 (flutter/engine#45842) 2023-09-19 16:27:49 +00:00
Chris Yang
c27c8aaa15 Revert "[ios] use python script to generate extension safe frameworks and code sign them" (flutter/engine#46004)
Reverts flutter/engine#45781

Issue with engine roll https://github.com/flutter/flutter/pull/134964.
We need to update the conductor and performa manual roll.
We also need to remove the Flutter.framework from the artifact.zip
2023-09-18 22:09:33 +00:00
Chris Yang
969d5e0d18 [ios] use python script to generate extension safe frameworks and code sign them (flutter/engine#45781)
Generates the fat framework for extension safe variants and add them to the code sign list.

Also reverts part of https://github.com/flutter/engine/pull/45664 where the variants are uploaded in separate archive. Now with this change, the extension safe is inside a "extension_safe" folder under existing archive. 

fixes https://github.com/flutter/flutter/issues/124291

The destination folder after this change:
- An extension_safe folder is added, which includes the extension safe Flutter.frameworks and dsym
- The artifacts.zip now includes the `extension_safe` except the dysm
- A extension_safe_Flutter.dsym.zip is created (under ios/release/) , which includes the extension_safe/Flutter.dsym

<img width="508" alt="Screenshot 2023-09-13 at 3 26 23 PM" src="https://github.com/flutter/engine/assets/3756895/84901ef1-af89-413f-94c7-74ed0aa36da6">

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-18 18:02:54 +00:00
Victoria Ashworth
855ec2065c Set tests to run on macOS 12 (flutter/engine#45855)
We recently upgraded a bot in the try pool to macOS 13 and I noticed a couple of tests have leaked through to it and we're not ready for tests to run on macOS 13 yet.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-14 22:19:57 +00:00
keyonghan
e7ac9ff327 Switch linux_android_debug_engine from goma to reclient (flutter/engine#45345)
Part of https://github.com/flutter/flutter/issues/132701.
2023-09-14 21:30:00 +00:00
keyonghan
cbb1d3dc41 Switch goma to reclient fro standalone targets (flutter/engine#45804)
Part of https://github.com/flutter/flutter/issues/132701.
2023-09-14 21:28:02 +00:00
Chris Yang
7774d22632 [ios] upload extension safe artifacts (flutter/engine#45664)
Uploads the artifacts for extension safe build. These artifacts need to be codesigned.

part of https://github.com/flutter/flutter/issues/124291

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-12 22:20:14 +00:00
Chris Yang
4e1274df93 [iOS] move arm64 builds to arm machines (flutter/engine#45721)
Some builds in ci can happen on arm machines, see https://github.com/flutter/engine/pull/45664/files#r1322197862

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-09-12 18:38:47 +00:00
Greg Spencer
528ab0c90b Remove usage of the Jazzy document formatter for Objective C, in favor of Doxygen. (flutter/engine#45561)
## Description

This removes references to Jazzy, and removes the `gen_objcdoc.py` script, since that is now handled by `gen_docs.py`

## Related Issues
 - https://github.com/flutter/flutter/issues/124833

## Related PRs
 - https://github.com/flutter/flutter/pull/134246
2023-09-08 17:45:06 +00:00
Zachary Anderson
81534e8ace Adds a Dart library for loading and parsing build configs (flutter/engine#45390)
Also adds a test that the build configs in the repo are valid json that
matches the spec.

Fleshed out @christopherfujino's code from here
https://github.com/christopherfujino/flutter-engine-runner/blob/main/main.dart
2023-09-05 10:00:44 -07:00
Zachary Anderson
41c9a99978 Revert "Fix global tests doing nothing." (flutter/engine#45125)
Reverts flutter/engine#45097

Many failures on CI like:
```
ld: warning: ignoring file ../../../../out/ios_debug_sim_arm64_extension_safe/libocmock_shared.dylib, building for iOS Simulator-x86_64 but attempting to link with file built for iOS Simulator-arm64
ld: warning: ignoring file ../../../../out/ios_debug_sim_arm64_extension_safe/libios_test_flutter.dylib, building for iOS Simulator-x86_64 but attempting to link with file built for iOS Simulator-arm64
```


https://ci.chromium.org/ui/p/flutter/builders/prod/Mac%20Production%20Engine%20Drone/131188/overview

Not sure if there are also other tests failing in different ways.
2023-08-25 12:38:23 -07:00
godofredoc
7fe20d02e9 Fix global tests doing nothing. (flutter/engine#45097)
This was related to using tests property which is expected for tests running within a build and tasks property used for global tests.

Bug: flutter/flutter#133301

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-08-25 14:23:19 +00:00
Zachary Anderson
681a9ab83a Revert ios cpu changes (flutter/engine#45095)
https://github.com/flutter/flutter/issues/133301
2023-08-25 03:51:23 +00:00
Dan Field
62a0c52e78 [Impeller] Do not build scene unless 3d define is true (flutter/engine#45028)
Fixes https://github.com/flutter/flutter/issues/133193
2023-08-24 21:38:19 +00:00
godofredoc
54d7aeb6db Use arm64 machines for ios_debug_sim_arm64 test. (flutter/engine#44920)
The test is failing when running on a x64 machine and we are pinning this test to use arm64.

Bug: https://github.com/flutter/flutter/issues/132993

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-08-21 22:25:05 +00:00
godofredoc
04efc39b8a Remove explicit mac cpu dimensions (flutter/engine#44836)
Running builds and tests on x64 machines is causing long queue times even when there is plenty of arm64 machines. This PR is removing most of the cpu pinned dimensions and it is separating some of the test to global tests to allow to select x64 machines only for the tests part.
2023-08-21 19:31:58 +00:00
Zachary Anderson
c9f9d56adf Don't run clang_tidy --lint-all in presubmit (flutter/engine#44833)
Instead, this PR runs clang_tidy only on files that have been changed.

Related https://github.com/flutter/flutter/issues/105068
2023-08-21 17:51:10 +00:00
Greg Spencer
fc5b70b5d4 Add Doxygen doc generation for iOS, macOS, Linux, Windows, and Impeller (flutter/engine#43915)
## Description

This starts generating Doxygen docs for iOS, macOS, Linux, Windows, and Impeller. It doesn't remove the existing generation for iOS for now, until we can migrate the API docs to include these instead of those.

## Related Issues
 - https://github.com/flutter/flutter/issues/130999
 - Fixes https://github.com/flutter/flutter/issues/124833
2023-08-17 20:49:05 +00:00
Zachary Anderson
38d3dcbc72 Adds new builders for partial clang-tidy checks. (flutter/engine#44811)
This is the first in a sequence of PRs which will lint only changed files on presubmit. The process is the following:
1. Add new `bringup: true` builders that lint only changed files. `bringup: true` builders don't run in presubmit, and since after landing this no files will be detected as changed, these builders will not do anything yet.
1. Remove `bringup: true`. This will allow the new builders to run in presubmit.
1. Ask the team to monitor the new checks on PRs to make sure they are doing the right thing.
1. When we're reasonably sure that the checks are doing the right thing, add `presubmit: false` to `mac_clang_tidy` and `linux_clang_tidy` so that we no longer needlessly lint all files in presubmit.

Related https://github.com/flutter/flutter/issues/105068
2023-08-17 17:25:26 +00:00
Zachary Anderson
ea835aa116 Split lint.sh into separate scripts for clang-tidy and pylint (flutter/engine#44763)
Fixes https://github.com/flutter/flutter/issues/132657
2023-08-16 11:16:00 -07:00
Chris Yang
39fd1931c6 [iOS] Add darwin_extension_safe flag and use UIScene api when building for extensions (flutter/engine#43449)
iOS extensions forbids the usage of UIApplication.sharedApplication. This PR refactors the engine to use UISceneAPI when darwin_extension_safe flag is on. Using UISceneAPI can help avoid the usage of `UIApplication.sharedApplication` as much as possible.
This PR also added a new `_extension_safe` variant for the engine build so all the logic with the `darwin_extension_safe` flag is on can be tested separately.

This PR doesn't enable the engine to build for the extension even when darwin_extension_safe is true.

part of https://github.com/flutter/flutter/issues/124289

There are several issues related to UIApplication life cycle and I manually tested they still work with the scene API:

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-08-01 18:12:45 +00:00
Jackson Gardner
12c34f4b33 Roll Chrome to 115 (flutter/engine#44076)
Update the version of Chrome we use for unit tests to 115.
2023-07-28 15:03:05 +00:00
Zachary Anderson
8e4206c239 Run linux_unopt on a machine with more cores (flutter/engine#43473)
The unit tests can run in parallel so running on a bigger machine gives a good speedup. This shaves ~10 minutes off of linux_unopt time. Some of the DisplayList unit tests go over the 120s limit, so this PR also bumps the default limit to 300s.
2023-07-11 22:56:05 +00:00
Zachary Anderson
daf8a25142 Reduce redundant Linux clang-tidy work and run on more cores (flutter/engine#43448)
This PR runs the android_debug_arm64 clang-tidy job on a machine with
more cores, and reduces the number of files linted that are redundant
with the `host_debug` clang-tidy jobs.
2023-07-06 18:54:39 -07:00
Zachary Anderson
32e67cfe77 Further shard clang-tidy runs (flutter/engine#43428)
The clang-tidy shards have crept up to 60 minutes on some runs. This PR
will bring them back down to around 30 minutes.

It does this by sharding the work for Mac/Linux `host_debug` across 4
shards. The clang-tidy work for ios/Android remains constrained to one
shard. Unfortunately, the clang-tidy script sharding isn't smart enough
to allow the ios/Android shards to participate in the `host_debug`
sharding. This PR leaves that shard as-is, but we could further improve
the runtime there if needed.
2023-07-06 08:56:20 -07:00
Victoria Ashworth
06457c8cae Update Xcode to 14.3.1 (flutter/engine#42930)
Engine part of https://github.com/flutter/flutter/issues/129019.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-06-27 18:21:30 +00:00
godofredoc
f802b94048 Add docs for magic variables. (flutter/engine#43121)
Adds documentation for env variable substitution in test execution.

Bug: https://github.com/flutter/flutter/issues/129280

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-06-24 02:01:58 +00:00
keyonghan
80ab2c54ca Add osx_sdk context to mac_clang_tidy (flutter/engine#43115)
With context, recipes logic should be simplified without checking corresponding platform/property conditions.

With the `osx_sdk` context, it will install xcode accordingly.
2023-06-23 16:41:56 +00:00
godofredoc
51e1adf23c Add missing android lint to linux_unopt. (flutter/engine#43099)
The test was not migrated to v2.

Bug: https://github.com/flutter/flutter/issues/127759

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-06-22 22:25:10 +00:00
godofredoc
f039068b13 Document the use of contexts on engine_v2 tests. (flutter/engine#43013)
Contexts are predefined python contexts that can be dynamically added to the test execution.

Bug: https://github.com/flutter/flutter/issues/129187

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-06-21 16:43:33 +00:00
godofredoc
853bdd7bd7 Generate treemap. (flutter/engine#43029)
Engine V2 was not generating the size treemap. This change will start uploading the size treemap to the test logs.

Bug: https://github.com/flutter/flutter/issues/128482

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-06-21 16:28:09 +00:00
godofredoc
79f7e23ebf Set xcode explicitly on mac builds with release_build. (flutter/engine#42898)
Xcode version needs to be set explicitly for builds running on
dart-internal.

Bug: https://github.com/flutter/flutter/issues/128977

## 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 Hixie said 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
[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
2023-06-15 22:04:21 -07:00
godofredoc
c1f94c5fab Add missing artifact to the android_arm64_profile config. (flutter/engine#42858)
The generation and archiving of this artifact was missed during the engine v2 migration.

Bug: https://github.com/flutter/flutter/issues/128907

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-06-15 00:44:20 +00:00
gaaclarke
c85a8b9cdd Renamed validation layers build (flutter/engine#42826)
followup to https://github.com/flutter/engine/pull/42724

## 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].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I added new tests to check the change I am making or feature I am
adding, or Hixie said 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
[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
2023-06-14 12:44:04 -07:00
gaaclarke
d4b201dad2 Added CI step for building with validation layers (flutter/engine#42724)
Let's try to make sure the validation layers don't break.

## 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].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I added new tests to check the change I am making or feature I am
adding, or Hixie said 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
[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
2023-06-13 14:44:11 -07:00
godofredoc
d7293a979c Create v2 configuration for emulator tests. (flutter/engine#42652)
Migrates emulator tests to engine v2.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-06-13 03:08:17 +00:00
keyonghan
a24de2eaef Fix an archive name in windows_host_engine config (flutter/engine#42709)
Use the correct archive name.
2023-06-09 22:37:59 +00:00
godofredoc
dcb764b1d3 Document the use of realm in archives. (flutter/engine#42682)
Add docs for realm propery in the archives of build configuration files.

Bug: https://github.com/flutter/flutter/issues/126121

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-06-09 00:43:12 +00:00
godofredoc
3539afcbb8 Benchmarks configurations for engine v2. (flutter/engine#42622)
This configuration migrates benchmarks to engine_v2.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-06-08 03:47:34 +00:00
godofredoc
ed776ac512 Add global test docs. (flutter/engine#42531)
Adds documentation for the use cases supported by global tests along with their respective configurations.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-06-07 20:52:51 +00:00
Jackson Gardner
6fdcec7af7 Bump Chrome version to 114 for testing (flutter/engine#42623) 2023-06-07 17:55:20 +00:00
godofredoc
9e643b1c23 Use json for json blocks in docs. (flutter/engine#42521)
Some of the code blocks were using yaml even though the content was json.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-06-02 21:24:09 +00:00
godofredoc
195f28dd70 Update engine build config docs. (flutter/engine#41468)
* Removed sections relevan only to a design doc.
* Remove deprecated properties.
* Add docs about default properites.
* Rephrased some sections.

## 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 Hixie said 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
[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

---------

Co-authored-by: Zachary Anderson <zanderso@users.noreply.github.com>
2023-06-02 12:57:59 -07:00
godofredoc
648918469b Move benchmarks no upload to a test. (flutter/engine#42356)
This is moving the execution of the benchmarks script to a test inside the existing host_relese configuration. It keeps the same coverage with and removes one build.

Bug: https://github.com/flutter/flutter/issues/127678

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-06-02 17:03:58 +00:00
godofredoc
a11ac35035 Do not retry lint or clang tidy tests. (flutter/engine#42498)
Retries on lints and clang tidy were hiding the issues as timeouts rather than providing the fail signal right away.

Bug: https://github.com/flutter/flutter/issues/128083

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-06-01 23:48:20 +00:00
Jackson Gardner
aa7b3fcf98 Only use 8 cores for web test compilation. (flutter/engine#42321) 2023-05-25 19:14:06 +00:00