Commit Graph

5 Commits

Author SHA1 Message Date
Alexander Aprelev 431fd74441 [hhh] Remove flutter patch, since the change actually landed in flutter/flutter repo.
Change-Id: I62b1a235d571234009f81a491732b4a6875f7478
Reviewed-on: https://dart-review.googlesource.com/74000
Reviewed-by: Alexander Aprelev <aam@google.com>
2018-09-07 17:11:45 +00:00
Alexander Aprelev fa862aa490 [hhh] Fix string comparison in apply.sh.
This is follow-up to https://dart-review.googlesource.com/73686.

Change-Id: Id2e6d16deef5d3655f7e80ea50181d39173069a5
Reviewed-on: https://dart-review.googlesource.com/73842
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-09-07 07:00:59 +00:00
Alexander Aprelev df1afc516e [hhh] Add flutter/flutter patching capability to hhh buildbot.
Change-Id: I6b7d96a335c7a8f130ad0c2388c7fb6ba38e2c83
Reviewed-on: https://dart-review.googlesource.com/73686
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-09-07 06:00:46 +00:00
Alexander Aprelev a1b1b8dc06 [hhh] Patch engine until next dart roll lands
Incompatible change landed https://dart-review.googlesource.com/c/sdk/+/72540.

Change-Id: I618650964ec953ae8f0efe9c45e59ecd356a2840
Reviewed-on: https://dart-review.googlesource.com/73685
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2018-09-06 21:08:04 +00:00
Jonas Termansen e8ecb3bc08 Support incompatible Dart SDK changes with patches to the Flutter Engine.
The Dart SDK may change incompatibly and require a corresponding update to
the Flutter Engine when Flutter Enginer rolls its Dart SDK. The flutter
targets on Golem uses a 3-way HEAD of the Dart SDK, the Flutter Engine, and
the Flutter Framework, meaning that it needs to apply the corresponding
update to the Flutter Engine immediately. Otherwise the Flutter targets will
be broken and not successfully run benchmarks until the next Flutter roll.

This change lets the Dart SDK make incompatible changes that affects the
Flutter Engine by checking in the corresponding patch into the Dart SDK
along with the incompatible change. The build step will determine what the
latest roll is by looking up which Dart SDK Hash the Flutter Engine has
pinned. If a patch exists for that hash, then that patch is applied to the
Flutter Engine.

For instance, if the Flutter Engine commit ab12 has pinned the Dart SDK
commit cd34, then it the patch tools/patches/flutter-engine/cd34.patch is
applied. Once the Flutter Engine rolls its Dart Engine, usually by
applying an equivalent patch, the roll commit will start refering to an
non-existent patch and the HEADs will be built together pristine again.
Finally cd32.patch can be removed from new versions of the Dart SDK.

The tools/patches/flutter-engine/apply.sh script is applies such patches in
3-way HEAD builds. The create.sh script is meant to be used by developers
when making incompatible changes to the Dart SDK that affects the Flutter
Engine. The top level tools/3xhead_flutter_hooks.sh script is meant to be
used by the CI as forward compatibility if additional hooks are added in the
future.

Change-Id: Ibf8e125b26dac319ba1c5302c003d7668155336a
Reviewed-on: https://dart-review.googlesource.com/64684
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-07-12 15:47:16 +00:00