Bug 188533 - [ews-build] Allow * as platform for builders and workers
Summary: [ews-build] Allow * as platform for builders and workers
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: Other
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Aakash Jain
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2018-08-13 14:43 PDT by Aakash Jain
Modified: 2019-02-05 15:44 PST (History)
6 users (show)

See Also:


Attachments
Proposed patch (1.47 KB, patch)
2018-08-13 14:44 PDT, Aakash Jain
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews206 for win-future (12.91 MB, application/zip)
2018-08-16 13:12 PDT, EWS Watchlist
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Aakash Jain 2018-08-13 14:43:21 PDT
When a worker (e.g.: webkit-misc) or builder (e.g.: Bindings-tests) do not need a very specific platform, we use * as the platform. However, loadConfig has a check to ensure that the platform matches for worker and platform. This prevents bot with * as platform to connect to multiple queues, or a builder with * as platform to connect to a worker with a specific platform.

We should allow the case when either worker or builder has * as platform, but the other has a specific platform. This would also help in testing (by allowing one bot to be used for testing multiple queues).
Comment 1 Aakash Jain 2018-08-13 14:44:34 PDT
Created attachment 347042 [details]
Proposed patch
Comment 2 Lucas Forschler 2018-08-14 09:22:14 PDT
Comment on attachment 347042 [details]
Proposed patch

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

> Tools/BuildSlaveSupport/ews-build/loadConfig.py:162
> +            if worker['platform'] != builder['platform'] and worker['platform'] != '*' and builder['platform'] != '*':

I'm not sure what our supported configurations might be, so my initial thought is to break this logic...

Is it possible we would have a configuration where either worker['platform'] was * OR builder['platform'] = * but not both?
In that case, would we prefer to do something like
and (worker['platform'] != '*' or builder['platform'] != '*')
Comment 3 EWS Watchlist 2018-08-16 13:11:51 PDT Comment hidden (obsolete)
Comment 4 EWS Watchlist 2018-08-16 13:12:02 PDT Comment hidden (obsolete)
Comment 5 Aakash Jain 2019-02-05 15:04:50 PST
> > Tools/BuildSlaveSupport/ews-build/loadConfig.py:162
> > +            if worker['platform'] != builder['platform'] and worker['platform'] != '*' and builder['platform'] != '*':
> 
> I'm not sure what our supported configurations might be, so my initial thought is to break this logic...
> 
> Is it possible we would have a configuration where either worker['platform'] was * OR builder['platform'] = * but not both?

Yes, Recently I have been using such a configuration on https://ews-build.webkit-uat.org, especially because I have limited bots for testing and I want a bot to process builds from multiple queues (both mac and ios). In this case worker['platform'] is * since worker can connect to multiple queues. builder['platform'] remains ios/mac accordingly. e.g.: https://bugs.webkit.org/show_bug.cgi?id=194304


> In that case, would we prefer to do something like
> and (worker['platform'] != '*' or builder['platform'] != '*')
This 'if' is to detect an error case, so it should be 'and' of all three conditions. The one in the patch has been working fine in my testing for a while.
Comment 6 WebKit Commit Bot 2019-02-05 15:43:21 PST
Comment on attachment 347042 [details]
Proposed patch

Clearing flags on attachment: 347042

Committed r240999: <https://trac.webkit.org/changeset/240999>
Comment 7 WebKit Commit Bot 2019-02-05 15:43:22 PST
All reviewed patches have been landed.  Closing bug.
Comment 8 Radar WebKit Bug Importer 2019-02-05 15:44:33 PST
<rdar://problem/47834681>