Skip to content

Conversation

@jmagman
Copy link
Member

@jmagman jmagman commented Aug 19, 2022

Allow Mac hostonly (not devicelab or benchmark) tests to run on any available architecture, not just x64 Intel machines.

Example expands available bots for this category of tests from
https://chromium-swarm.appspot.com/botlist?c=id&c=task&c=cpu&c=os&c=status&d=asc&f=pool%3Aluci.flutter.prod&f=os%3AMac-12&f=cpu%3Ax86&f=device_type%3Anone&s=id
to
https://chromium-swarm.appspot.com/botlist?c=id&c=task&c=cpu&c=os&c=status&d=asc&f=pool%3Aluci.flutter.prod&f=os%3AMac-12&f=device_type%3Anone&s=id

Also run tool_host_cross_arch_tests on both archs, as that's the intention of that shard.

Remove arm64ruby dependency, unnecessary as of #110561.

Pre-launch Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
  • I signed the CLA.
  • I listed at least one issue that this PR fixes in the description above.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is test-exempt.
  • All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@jmagman jmagman self-assigned this Aug 19, 2022
@jmagman
Copy link
Member Author

jmagman commented Aug 19, 2022

@keyonghan what else needs to be done to make sure the arm64 cipd packages are used on arm bots, and Rosetta is installed?

https://ci.chromium.org/ui/p/flutter/builders/try/Mac%20module_test_ios/17563/overview

Target aot_assembly_release failed: ProcessException: Bad CPU type in executable

https://ci.chromium.org/ui/p/flutter/builders/try/Mac%20build_tests_1_4/26563/overview

  failed to resolve flutter_internal/browsers/chrome/mac-arm64@version:98.1 (line 1): no such package: flutter_internal/browsers/chrome/mac-arm64

Ideally this behavior is tied to the cpu property of the bot and not the name of the task/builder so that it can run on any bot with any architecture, given available capacity.

#87508

@keyonghan
Copy link
Contributor

For Rosetta, filed https://bugs.chromium.org/p/chromium/issues/detail?id=1354817
For arm64 cipd packages, we need the package maintainer to add the arm64 version, for example chrome.

@jmagman
Copy link
Member Author

jmagman commented Aug 19, 2022

For arm64 cipd packages, we need the package maintainer to add the arm64 version, for example chrome.

This one failed missing openjdk but we should have that? #98532
https://ci.chromium.org/ui/p/flutter/builders/try/Mac%20framework_tests_misc/25668/overview

@keyonghan
Copy link
Contributor

@jmagman
Copy link
Member Author

jmagman commented Aug 23, 2022

For arm64 cipd packages, we need the package maintainer to add the arm64 version, for example chrome.

Filed #110113

@jmagman
Copy link
Member Author

jmagman commented Aug 23, 2022

@keyonghan everything passed when I added the arm64 tag. If we want Mac to work for either, we can't set it in .ci.yaml, it should be derived from the cpu property. Where is that tag used?

@jmagman
Copy link
Member Author

jmagman commented Aug 23, 2022

@keyonghan everything passed when I added the arm64 tag. If we want Mac to work for either, we can't set it in .ci.yaml, it should be derived from the cpu property. Where is that tag used?

Wait, that tag didn't even get applied? I guess the tags on the individual tasks override it, not add to it?

          "tags": [
                "devicelab",
                "hostonly"
              ],

https://chromium-swarm.appspot.com/task?id=5ce567548c6b2a10&o=true&w=true

@jmagman
Copy link
Member Author

jmagman commented Aug 23, 2022

Hm the passing tests actually ran on x86 even though they had the cpu arm64 property:
https://chromium-swarm.appspot.com/task?id=5ce5675befae1110&o=true&w=true

cpu:x86x86-64x86-64-i7-8700B
        "requested_properties": {
...
            "cpu": "arm64",

@keyonghan
Copy link
Contributor

@keyonghan everything passed when I added the arm64 tag. If we want Mac to work for either, we can't set it in .ci.yaml, it should be derived from the cpu property. Where is that tag used?

The tag is used only for data analysis purpose, and it should not affect platform selection.
Sounds something wrong when fetching properties/dimensions from PR to overriding the scheduled build config, though the first commit did pick up the changes in the PR.

@jmagman
Copy link
Member Author

jmagman commented Aug 23, 2022

@goderbauer goderbauer added team-infra Owned by Infrastructure team c: contributor-productivity Team-specific productivity, code health, technical debt. labels Aug 24, 2022
@jmagman
Copy link
Member Author

jmagman commented Aug 26, 2022

Hm the passing tests actually ran on x86 even though they had the cpu arm64 property

This happened again...

@jmagman
Copy link
Member Author

jmagman commented Aug 30, 2022

Filed #110561 to install arm Ruby on arm bots.

@jmagman jmagman added the autosubmit Merge PR when tree becomes green via auto submit App label Sep 21, 2022
@auto-submit auto-submit bot merged commit 4429532 into flutter:master Sep 21, 2022
@jmagman jmagman deleted the hostonly-arch branch September 21, 2022 21:41
jmagman added a commit that referenced this pull request Sep 22, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/plugins that referenced this pull request Sep 22, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/plugins that referenced this pull request Sep 22, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Sep 22, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/plugins that referenced this pull request Sep 22, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/plugins that referenced this pull request Sep 22, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/plugins that referenced this pull request Sep 23, 2022
@jmagman jmagman restored the hostonly-arch branch February 1, 2023 22:48
@jmagman jmagman deleted the hostonly-arch branch February 1, 2023 23:06
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 c: contributor-productivity Team-specific productivity, code health, technical debt. team-infra Owned by Infrastructure team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants