Bug 214874 - Add EWS builder queue for Apple Silicon
Summary: Add EWS builder queue for Apple Silicon
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Jonathan Bedard
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2020-07-28 07:11 PDT by Jonathan Bedard
Modified: 2020-08-05 18:17 PDT (History)
4 users (show)

See Also:


Attachments
Patch (3.39 KB, patch)
2020-07-28 07:18 PDT, Jonathan Bedard
no flags Details | Formatted Diff | Diff
Patch (4.40 KB, patch)
2020-07-28 09:01 PDT, Jonathan Bedard
no flags Details | Formatted Diff | Diff
Patch (4.79 KB, patch)
2020-07-28 12:14 PDT, Jonathan Bedard
no flags Details | Formatted Diff | Diff
Patch (4.77 KB, patch)
2020-07-28 12:16 PDT, Jonathan Bedard
no flags Details | Formatted Diff | Diff
Patch (6.27 KB, patch)
2020-07-29 10:03 PDT, Jonathan Bedard
no flags Details | Formatted Diff | Diff
Patch (6.96 KB, patch)
2020-07-29 14:25 PDT, Jonathan Bedard
no flags Details | Formatted Diff | Diff
Patch (6.99 KB, patch)
2020-07-29 15:25 PDT, Jonathan Bedard
no flags Details | Formatted Diff | Diff
Patch (6.99 KB, patch)
2020-07-29 15:42 PDT, Jonathan Bedard
no flags Details | Formatted Diff | Diff
Patch for landing (6.99 KB, patch)
2020-07-29 16:45 PDT, Jonathan Bedard
no flags Details | Formatted Diff | Diff
Patch (6.97 KB, patch)
2020-07-29 17:14 PDT, Jonathan Bedard
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jonathan Bedard 2020-07-28 07:11:25 PDT
We should defend the Seed 3 build, along with some basic tools tests, on Apple Silicon.
Comment 1 Radar WebKit Bug Importer 2020-07-28 07:11:42 PDT
<rdar://problem/66216190>
Comment 2 Jonathan Bedard 2020-07-28 07:18:22 PDT
Created attachment 405355 [details]
Patch
Comment 3 Aakash Jain 2020-07-28 07:24:39 PDT
Comment on attachment 405355 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=405355&action=review

> Tools/BuildSlaveSupport/ews-build/config.json:392
> +      "shortname": "mac-applesilicon",

This is somewhat long name to show in status-bubble.

> Tools/BuildSlaveSupport/ews-build/config.json:613
> +      "shortname": "webkitpy-applesilicon",

This is too long name to show in status-bubble.

> Tools/BuildSlaveSupport/ews-build/config.json:616
> +      "platform": "*",

Is it ok for bots with older OS (e.g.: Mojave) to process patches on this queue? If not, it's better to have "platform: mac-bigsur" here, so as to avoid accidentally connecting bots like webkit-misc here. Same for "WebKitPerl-AppleSilicon-Tests-EWS"

> Tools/BuildSlaveSupport/ews-build/config.json:621
> +      "shortname": "webkitperl-applesilicon",

This is too long name to show in status-bubble.
Comment 4 Aakash Jain 2020-07-28 07:30:15 PDT
Comment on attachment 405355 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=405355&action=review

> Tools/BuildSlaveSupport/ews-app/ews/views/statusbubble.py:49
> +                  'mac-applesilicon', 'webkitperl-applesilicon', 'webkitpy-applesilicon']

This list is sorted in the order of which bubbles appear in bugzilla. First builders and then testers. Let's move 'mac-applesilicon' appropriately.
Comment 5 Jonathan Bedard 2020-07-28 09:01:22 PDT
Created attachment 405361 [details]
Patch
Comment 6 Aakash Jain 2020-07-28 11:16:05 PDT
Comment on attachment 405361 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=405361&action=review

> Tools/BuildSlaveSupport/ews-app/ews/views/statusbubble.py:48
> +                  'bindings', 'jsc', 'jsc-armv7', 'jsc-mips', 'jsc-i386', 'webkitperl', 'webkitpy', 'services', 'webkitperl-AS', 'webkitpy-AS']

Let's put webkitpy-AS next to webkitpy, and webkitperl-AS next to webkitperl

> Tools/BuildSlaveSupport/ews-build/config.json:398
> +      "triggers": [],

triggers can be removed from here.

> Tools/BuildSlaveSupport/ews-build/config.json:399
> +      "workernames": ["ews129"]

One bot might not be enough for this queue. You may want to add ews130 as well in the config right away, and connect it when it's ready.

> Tools/BuildSlaveSupport/ews-build/config.json:683
> +                       "macOS-BigSur-Release-Build-EWS", "WebKitPerl-AppleSilicon-Tests-EWS", "WebKitPy-AppleSilicon-Tests-EWS"]

This list is in alphabetical order, let's maintain it that way.
Comment 7 Jonathan Bedard 2020-07-28 12:14:47 PDT
Created attachment 405387 [details]
Patch
Comment 8 Jonathan Bedard 2020-07-28 12:16:38 PDT
Created attachment 405389 [details]
Patch
Comment 9 Aakash Jain 2020-07-28 12:24:23 PDT
Comment on attachment 405389 [details]
Patch

Looks good. I am concerned that one bot might not be enough for "macOS-BigSur-Release-Build-EWS" (and also webkitpy-AS, webkitperl-AS queues). Let's land it only after testing it on uat instance and seeing if it's able to keep up with the patches.
Comment 10 Jonathan Bedard 2020-07-29 10:03:20 PDT
Created attachment 405469 [details]
Patch
Comment 11 Jonathan Bedard 2020-07-29 14:25:59 PDT
Created attachment 405502 [details]
Patch
Comment 12 Aakash Jain 2020-07-29 14:35:41 PDT
Comment on attachment 405502 [details]
Patch

r+ with the conflicts resolved. Please make sure to test new changes on uat instance as well.
Comment 13 Jonathan Bedard 2020-07-29 15:25:42 PDT
Created attachment 405513 [details]
Patch
Comment 14 Jonathan Bedard 2020-07-29 15:42:43 PDT
Created attachment 405518 [details]
Patch
Comment 15 Aakash Jain 2020-07-29 16:42:13 PDT
Comment on attachment 405518 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=405518&action=review

> Tools/BuildSlaveSupport/ews-build/factories_unittest.py:174
> +        factory = factories.macOSBuildOnlyFactory(platform='mac-bigsur', configuration='release', architectures=["x86_64", "arm64"])

architectures should be arm64 only.

> Tools/BuildSlaveSupport/ews-build/factories_unittest.py:176
> +            _BuildStepFactory(steps.ConfigureBuild, platform='mac-bigsur', configuration='release', architectures=["x86_64", "arm64"], buildOnly=False, triggers=None, remotes=None, additionalArguments=None),

Maybe buildOnly should be true, but that can be done/tested in separate patch.
That appends the flags DEBUG_INFORMATION_FORMAT=dwarf-with-dsym and CLANG_DEBUG_INFORMATION_LEVEL=line-tables-only to build-webkit command. Not sure how much is the impact.
Comment 16 Jonathan Bedard 2020-07-29 16:45:14 PDT
Created attachment 405527 [details]
Patch for landing
Comment 17 Jonathan Bedard 2020-07-29 16:48:43 PDT
(In reply to Aakash Jain from comment #15)
> Comment on attachment 405518 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=405518&action=review
> 
> > Tools/BuildSlaveSupport/ews-build/factories_unittest.py:174
> > +        factory = factories.macOSBuildOnlyFactory(platform='mac-bigsur', configuration='release', architectures=["x86_64", "arm64"])
> 
> architectures should be arm64 only.
> 
> > Tools/BuildSlaveSupport/ews-build/factories_unittest.py:176
> > +            _BuildStepFactory(steps.ConfigureBuild, platform='mac-bigsur', configuration='release', architectures=["x86_64", "arm64"], buildOnly=False, triggers=None, remotes=None, additionalArguments=None),
> 
> Maybe buildOnly should be true, but that can be done/tested in separate
> patch.
> That appends the flags DEBUG_INFORMATION_FORMAT=dwarf-with-dsym and
> CLANG_DEBUG_INFORMATION_LEVEL=line-tables-only to build-webkit command. Not
> sure how much is the impact.

Maybe, although we don't do that for iOS today, so that should be a separate patch to fix that for all effected platforms.
Comment 18 Jonathan Bedard 2020-07-29 17:14:08 PDT
Created attachment 405531 [details]
Patch
Comment 19 EWS 2020-07-30 08:56:01 PDT
Committed r265082: <https://trac.webkit.org/changeset/265082>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 405531 [details].