RESOLVED FIXED 188533
[ews-build] Allow * as platform for builders and workers
https://bugs.webkit.org/show_bug.cgi?id=188533
Summary [ews-build] Allow * as platform for builders and workers
Aakash Jain
Reported 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).
Attachments
Proposed patch (1.47 KB, patch)
2018-08-13 14:44 PDT, Aakash Jain
no flags
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
Aakash Jain
Comment 1 2018-08-13 14:44:34 PDT
Created attachment 347042 [details] Proposed patch
Lucas Forschler
Comment 2 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'] != '*')
EWS Watchlist
Comment 3 2018-08-16 13:11:51 PDT Comment hidden (obsolete)
EWS Watchlist
Comment 4 2018-08-16 13:12:02 PDT Comment hidden (obsolete)
Aakash Jain
Comment 5 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.
WebKit Commit Bot
Comment 6 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>
WebKit Commit Bot
Comment 7 2019-02-05 15:43:22 PST
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 8 2019-02-05 15:44:33 PST
Note You need to log in before you can comment on or make changes to this bug.