WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
178610
Update perf dashboard upload logic to support uploading binaries from owned commits.
https://bugs.webkit.org/show_bug.cgi?id=178610
Summary
Update perf dashboard upload logic to support uploading binaries from owned c...
dewei_zhu
Reported
2017-10-20 16:56:02 PDT
Update perf dashboard upload logic to support uploading binaries from owned commits.
Attachments
Patch
(33.31 KB, patch)
2017-10-20 17:01 PDT
,
dewei_zhu
no flags
Details
Formatted Diff
Diff
Patch
(52.34 KB, patch)
2017-10-20 22:55 PDT
,
dewei_zhu
rniwa
: review+
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
dewei_zhu
Comment 1
2017-10-20 17:01:25 PDT
Created
attachment 324470
[details]
Patch
Ryosuke Niwa
Comment 2
2017-10-20 17:20:45 PDT
Comment on
attachment 324470
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=324470&action=review
> Websites/perf.webkit.org/public/api/upload-root.php:69 > + $commit_repository_rows_in_set = $db->query_and_fetch_all('SELECT commit_set_items.commitset_commit as commitset_commit, owned.repository_name as repository_name, owner.repository_name as owner_repository_name
Please wrap the line after as commitset_commit. It's really hard to read such a long line.
> Websites/perf.webkit.org/public/api/upload-root.php:82 > + } > + else
Nit: else should be on the same line as }.
> Websites/perf.webkit.org/public/api/upload-root.php:91 > + elseif(is_array($repository_name) && count($repository_name) == 2)
Nit: Use "else if" also need a space between else if and (. Please use an associative array instead as we discussed in person.
> Websites/perf.webkit.org/public/api/upload-root.php:94 > - exit_with_error('InvalidRepository', array('repositoryName' => $repository_name, 'commitSet' => $commit_set_id)); > + exit_with_error('InvalidRepository', array('repositoryName' => $repository_name, 'commitSet' => $commit_set_id, 'full' => $commit_repository_rows_in_set, 'dict' => $commit_by_owned_and_owner_repository_names));
Names like "full" and "dict" are too generic. I really don't think we should be dumping these entries. These error messages aren't meant to debug perf dashboard, it's for people writing scripts to submit roots.
> Websites/perf.webkit.org/public/api/upload-root.php:98 > + exit_with_error('InvalidRepositoryList', array('repositoryList' => $repository_name_list, 'commitSet' => $commit_set_id, 'full' => $commit_repository_rows_in_set, 'dict' => $commit_by_owned_and_owner_repository_names));
Ditto.
> Websites/perf.webkit.org/server-tests/api-upload-root-tests.js:625 > - it('should update all commit set items in the repository listed', () => { > + it('should only set build requests as complete when all roots are built', () => {
Instead of modifying the existing test, you should add a new test. r- because of this.
> Websites/perf.webkit.org/server-tests/tools-sync-buildbot-integration-tests.js:809 > + assert.equal(buildRequest.statusLabel(), 'Running');
Again, we should add a new test case instead of modifying an existing one.
dewei_zhu
Comment 3
2017-10-20 21:36:59 PDT
Comment on
attachment 324470
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=324470&action=review
>> Websites/perf.webkit.org/public/api/upload-root.php:94 >> + exit_with_error('InvalidRepository', array('repositoryName' => $repository_name, 'commitSet' => $commit_set_id, 'full' => $commit_repository_rows_in_set, 'dict' => $commit_by_owned_and_owner_repository_names)); > > Names like "full" and "dict" are too generic. > I really don't think we should be dumping these entries. > These error messages aren't meant to debug perf dashboard, it's for people writing scripts to submit roots.
You are right. I forgot to remove this debug info.
dewei_zhu
Comment 4
2017-10-20 22:46:50 PDT
Comment on
attachment 324470
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=324470&action=review
>> Websites/perf.webkit.org/server-tests/api-upload-root-tests.js:625 >> + it('should only set build requests as complete when all roots are built', () => { > > Instead of modifying the existing test, you should add a new test. r- because of this.
This is a duplicate tests checked in accidentally. It's a dup to the test right above.
dewei_zhu
Comment 5
2017-10-20 22:55:57 PDT
Created
attachment 324489
[details]
Patch
Ryosuke Niwa
Comment 6
2017-10-23 16:33:41 PDT
Comment on
attachment 324489
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=324489&action=review
> Websites/perf.webkit.org/public/api/upload-root.php:76 > + $commit_by_owned_and_owner_repository_names = array();
Since this map's owner-major, I think it's better to call it $commit_by_owner_and_owned_repository_names
> Websites/perf.webkit.org/public/api/upload-root.php:92 > + else if (is_array($repository_name) && array_key_exists('ownerRepository', $repository_name) && array_key_exists('ownedRepository', $repository_name)) > + $commit_id = array_get(array_get($commit_by_owned_and_owner_repository_names, $repository_name['ownerRepository'], array()), $repository_name['ownedRepository']);
There's no need to check this. You can just array_get ownerRepository and ownedRepository. On the other hand, you should spit out an error if either is missing.
> Websites/perf.webkit.org/server-tests/api-upload-root-tests.js:13 > +function makeReport(rootFile, buildRequestId = 1, repositoryList=['WebKit'], buildTime = '2017-05-10T02:54:08.666')
Nit: Need spaces around "=" for repositoryList.
> Websites/perf.webkit.org/server-tests/api-upload-root-tests.js:623 > - it('should update all commit set items in the repository listed', () => { > + it('should only set build requests as complete when all roots are built', () => {
Despite of having the same name, these are two different tests. Please add a new test case instead.
> Websites/perf.webkit.org/server-tests/tools-sync-buildbot-integration-tests.js:105 > +function uploadRoot(buildRequestId, buildNumber, repositoryList=["WebKit"], buildTime='2017-05-10T02:54:08.666')
Nit: Spaces around =.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug