Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[tools,pigeon] Update tooling to handle Windows build output changes #4826

Merged
merged 7 commits into from
Sep 1, 2023

Conversation

stuartmorgan
Copy link
Contributor

Updates the tooling that builds and runs Windows unit tests to handle the build output path changes in flutter/flutter#131843

@stuartmorgan stuartmorgan changed the title [tools] Update tooling to handle Windows build output changes [tools,pigeon] Update tooling to handle Windows build output changes Aug 31, 2023
@stuartmorgan
Copy link
Contributor Author

This is now ready for review. I tested it with a roll to make sure it would work (which is how I found the Pigeon part, which I'd forgotten would be an issue), but since it also needs to support the stable behavior I've removed the roll, and it can land without a roll so that tomorrow's roll won't fail.

const String buildDirBase = '$examplePath/build/windows';
const String buildRelativeBinaryPath =
'plugins/test_plugin/Debug/test_plugin_test.exe';
final String arch = Abi.current() == Abi.windowsArm64 ? 'arm64' : 'x64';
Copy link
Member

@loic-sharma loic-sharma Aug 31, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Currently, the tool creates x64 executables on Windows Arm64 machines (the executable runs using emulation). Creating Windows Arm64 executables on Arm64 hosts by default is tracked by flutter/flutter#129807.

In other words, in the long-term this script is correct, but in the short-term (until flutter/flutter#129807 lands) this script should use build/windows/x64 on Windows Arm64 hosts. Feel free to keep this as-is if you don't plan to run this script on Windows Arm64 hosts until after flutter/flutter#129807 lands.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, I misremembered what the roadmap ordering was on the arm64 support.

To avoid having a mini fire-drill when flutter/flutter#129807 lands, I've made the scripts messier for now but future-proof, so that they will work with the new structure with only x64, but then use the new structure with arm64 when it starts working.

@tarrinneal
Copy link
Contributor

which is how I found the Pigeon part

Are there greater implications to pigeon than just the testing? Or is pigeon too high level for it to matter?

Copy link
Member

@loic-sharma loic-sharma left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@tarrinneal tarrinneal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SF, there are a few todo's in here that don't actually reference an issue. Not sure if they need to or not though...

@stuartmorgan
Copy link
Contributor Author

All that changes is where build products go; Pigeon is only affected because it has hand-rolled test scripts, so is sensitive to changes in where the test binaries end up.

@stuartmorgan stuartmorgan added the autosubmit Merge PR when tree becomes green via auto submit App label Sep 1, 2023
@stuartmorgan
Copy link
Contributor Author

SF, there are a few todo's in here that don't actually reference an issue. Not sure if they need to or not though...

I didn't think it was worth tracking bugs; they shouldn't affect anything, so it'll just be opportunistic cleanup when someone is editing that code after enough time has passed. I just wanted the comment there to make it clear when it could be simplified.

@auto-submit auto-submit bot merged commit b8b84b2 into flutter:main Sep 1, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 1, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 1, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 4, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 7, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 7, 2023
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Sep 7, 2023
flutter/packages@e7d812c...22d4754

2023-09-07 [email protected] Roll Flutter (stable) from ff5b5b5 to 2524052 (6 revisions) (flutter/packages#4866)
2023-09-07 [email protected] [webview_flutter_platform_interface] Adds option to override console log (flutter/packages#4701)
2023-09-01 [email protected] [tools,pigeon] Update tooling to handle Windows build output changes (flutter/packages#4826)
2023-08-31 [email protected] [google_maps_flutter] Cloud-based map styling support (flutter/packages#3682)
2023-08-31 [email protected] [ci] Convert version presubmit check to LUCI (flutter/packages#4822)
2023-08-31 [email protected] [url_launcher_android] Add support for Custom Tabs (flutter/packages#4739)
2023-08-31 [email protected] [webview_flutter] update pigeon to 11 (flutter/packages#4821)
2023-08-31 [email protected] Roll Flutter (stable) from e1e4722 to ff5b5b5 (1 revision) (flutter/packages#4823)
2023-08-31 [email protected] Roll Flutter from 1fe2495 to c175cf8 (30 revisions) (flutter/packages#4825)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC [email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
@reidbaker reidbaker mentioned this pull request Sep 15, 2023
11 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
autosubmit Merge PR when tree becomes green via auto submit App p: pigeon
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants