iOS recipes uploads incorrect buildername to test-results app/table |
||
Issue descriptionI used query: SELECT buildbot_info.master_name, buildbot_info.builder_name FROM `test-results-hrd.events.test_results` WHERE _PARTITIONTIME >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 day) AND build_id = '8944623743136304208' GROUP BY buildbot_info.master_name, buildbot_info.builder_name And here are the results: Row master_name builder_name 1 tryserver.chromium.mac ios-simulator-iPhone 6s-11.2 2 tryserver.chromium.mac ios-simulator-iPad Air 2-10.3 3 tryserver.chromium.mac ios-simulator-iPhone 6s Plus-11.2 4 tryserver.chromium.mac ios-simulator-iPad Air 2-11.2 It doens't make sense that a single build is associated with mutiple builder_name, and I'm expecting the builder_name to be 'ios-simulator'. Talked to Sean, and confirmed that test-results app blindly takes whatever is uploaded by the steps, so it's likely that there are some bugs in the iOS recipes. Here is the link the the above mentioned build: https://ci.chromium.org/p/chromium/builds/b8944623743136304208
,
Jun 5 2018
The definition of buildername is confusing to me. https://ci.chromium.org/p/chromium/builds/b8944623743136304208, if you look at the build properties, it shows "buildername: ios-simulator". My understanding is that though the same suite is *TESTED* against different devices, it shouldn't affect the buildername. buildrename should be a property passed to the recipe at the beginning and shouldn't be changed later, and it is expected to match with the buildbucket:builder definition in LUCI's world. AFAIC, iOS recipe is the only recipe that appends device/platform bits to the buildername. For example, https://ci.chromium.org/p/chromium/builders/luci.chromium.try/mac_chromium_rel_ng/63192, though tests are run on Mac 10.12.6 and 10.13, the buildername in the test_results table is always 'mac_chromium_rel_ng', ranther than 'mac_chromium_rel_ng-Mac-10.12.6' and 'mac_chromium_rel_ng-10.13'.
,
Jun 5 2018
In the mac case, there's only one total execution of a given suite. In the iOS case, there are multiple. You need some mechanism for distinguishing between them. I think the practical options for that are appending to the builder name (in which case you get this scenario) or appending to the suite name (in which case you it's hard to compare suite results across different devices).
,
Jun 5 2018
Thanks for explaining! Looks like the mac example is not related to this discussion. I do agree we need some mechanism for distinguishing between them, but I thought these information should be part of the step_name instead of buildername (chromium test recipe appends platform information to the step_name). Another issue is that iOS recipe uploads each shard as an individual step: Row step_name test_type master_name builder_name 1 ui_base_unittests ui_base_unittests tryserver.chromium.mac ios-simulator-iPhone 6s-11.2 2 ios_web_shell_egtests ios_web_shell_egtests tryserver.chromium.mac ios-simulator-iPhone 6s-11.2 3 ios_chrome_ui_egtests_shard_0 ios_chrome_ui_egtests_shard_0 tryserver.chromium.mac ios-simulator-iPhone 6s-11.2 I'll find a way to work it around, but I do think it makes more sense to merge the results before uploading at the recipe side, do we have any plans for this?
,
Jun 7 2018
Don't think there's plans. Moving into our backlog.
,
Jun 7 2018
#4: It definitely makes sense to merge shards prior to upload, but as Ben said, we don't have imminent plans. We're in a bit of a crunch re ios work. |
||
►
Sign in to add a comment |
||
Comment 1 by jbudorick@chromium.org
, Jun 5 2018