Rewrite 'pull-os-versions' script in Javascript to add support for reporting os revis...
[WebKit-https.git] / Websites / perf.webkit.org / ChangeLog
index ee98d6b..c823c35 100644 (file)
@@ -1,3 +1,61 @@
+2017-03-15  Dewei Zhu  <dewei_zhu@apple.com>
+
+        Rewrite 'pull-os-versions' script in Javascript to add support for reporting os revisions with sub commits.
+        https://bugs.webkit.org/show_bug.cgi?id=169542
+
+        Reviewed by Ryosuke Niwa.
+
+        Extend '/api/commits/<repository>/last-reported' to accept a range and return last reported commits in given range.
+        Rewrite 'pull-os-versions' in JavaScript and add unit tests for it.
+        Instead of writing query manually while searching criteria contains null columns, use the methods provided in 'db.php'.
+        Add '.gitignore' file to ommit files generated by while running tests/instances locally.
+
+        * .gitignore: Added.
+        * public/api/commits.php:
+        * public/api/report-commits.php:
+        * public/include/commit-log-fetcher.php:
+        * public/include/db.php: 'null_columns' of prepare_params should be a reference.
+        * public/include/report-processor.php:
+        * server-tests/api-commits.js:
+        (then):
+        * server-tests/api-report-commits-tests.js:
+        * server-tests/resources/mock-logger.js: Added.
+        (MockLogger):
+        (MockLogger.prototype.log):
+        (MockLogger.prototype.error):
+        * server-tests/resources/mock-subprocess.js: Added.
+        (MockSubprocess.call):
+        (MockSubprocess.waitingForInvocation):
+        (MockSubprocess.inject):
+        (MockSubprocess.reset):
+        * server-tests/tools-buildbot-triggerable-tests.js:
+        (MockLogger): Deleted.
+        (MockLogger.prototype.log): Deleted.
+        (MockLogger.prototype.error): Deleted.
+        * server-tests/tools-os-build-fetcher-tests.js: Added.
+        (beforeEach):
+        (return.waitingForInvocationPromise.then):
+        (then):
+        (string_appeared_here.return.waitingForInvocationPromise.then):
+        (return.addSlaveForReport.emptyReport.then):
+        * tools/js/os-build-fetcher.js: Added.
+        (OSBuildFetcher):
+        (OSBuildFetcher.prototype._fetchAvailableBuilds):
+        (OSBuildFetcher.prototype._computeOrder):
+        (OSBuildFetcher.prototype._commitsForAvailableBuilds.return.this._subprocess.call.then.):
+        (OSBuildFetcher.prototype._commitsForAvailableBuilds):
+        (OSBuildFetcher.prototype._addSubCommitsForBuild):
+        (OSBuildFetcher.prototype._submitCommits):
+        (OSBuildFetcher.prototype.fetchAndReportNewBuilds):
+        * tools/js/subprocess.js: Added.
+        (const.childProcess.require.string_appeared_here.Subprocess.prototype.call):
+        (const.childProcess.require.string_appeared_here.Subprocess):
+        * tools/pull-os-versions.js: Added.
+        (main):
+        (syncLoop):
+        * tools/sync-commits.py:
+        (Repository.fetch_commits_and_submit):
+
 2017-03-14  Ryosuke Niwa  <rniwa@webkit.org>
 
         Make server tests return a promise instead of manually calling done