Extend 'ifBuilt' config key to set property based on whether certain repositories...
[WebKit.git] / Websites / perf.webkit.org / ChangeLog
1 2018-01-20  Dewei Zhu  <dewei_zhu@apple.com>
2
3         Extend 'ifBuilt' config key to set property based on whether certain repositories are built or not.
4         https://bugs.webkit.org/show_bug.cgi?id=181906
5
6         Reviewed by Ryosuke Niwa.
7
8         Before this change, 'ifBuilt' will always set specified property for test properties as long as there
9         is a build type build in the same build request group. However, this is no longer valid as we don't
10         want to set specified property for testing when only owned commit is built in previous build.
11         'ifBuilt' needs to conditionally set property based on whether certain required repositories are built.
12         Empty required repository list means no requirement on repository to set property.
13
14         * tools/js/buildbot-syncer.js:
15         (BuildbotSyncer.prototype._propertiesForBuildRequest):In the case of 'built', only set property when
16         repository requirment is meet and there is a 'build' root request in the same build request group.
17         (BuildbotSyncer._parseRepositoryGroup): Extend 'ifBuild' to pass information based on contition.
18         * unit-tests/buildbot-syncer-tests.js: Added unit tests.
19
20 2018-01-19  Dewei Zhu  <dewei_zhu@apple.com>
21
22         Should reject updating a build request which has an associated build.
23         https://bugs.webkit.org/show_bug.cgi?id=181893
24
25         Reviewed by Ryosuke Niwa.
26
27         Current code does not prevent submitting to same build request multiple times.
28         This could lead to a build losing its associated build request.
29         As a result, this build will be visible in charts which is not right.
30         Added a check when a build request is reported.
31         Addressed a 'FIXME' for the race condition inside ReportProcessor->resolve_build_id by surrounding
32         it with a database transaction.
33
34         * public/include/report-processor.php:
35         Wrap adding platform and resolve_build_id with a database transaction.
36         Add a check to make sure only a build request has no associated build can be updated.
37         * server-tests/api-report-tests.js: Added unit tests accordingly.
38
39 2018-01-18  Dewei Zhu  <dewei_zhu@apple.com>
40
41         Should allow updating a build-request to 'canceled'.
42         https://bugs.webkit.org/show_bug.cgi?id=181819
43
44         Reviewed by Ryosuke Niwa.
45
46         It's possible syncing script update a build-request to 'canceled' state.
47
48         * public/api/build-requests.php: Added 'canceled' as an acceptable update state.
49         * server-tests/api-build-requests-tests.js: Added a unit test to update a build-request to 'canceled'.
50
51 2018-01-18  Aakash Jain  <aakash_jain@apple.com>
52
53         Add support for builderNameToIDMap in BuildbotSyncer
54         https://bugs.webkit.org/show_bug.cgi?id=176526
55
56         Reviewed by Ryosuke Niwa.
57
58         * tools/js/buildbot-syncer.js:
59         (BuildbotSyncer._loadConfig): Added builderNameToIDMap parameter. It would be used later on.
60         (BuildbotSyncer._resolveBuildersWithPlatforms): Ditto.
61         (BuildbotSyncer._validateAndMergeConfig): Added builderID as a valid config parameter.
62         * tools/js/buildbot-triggerable.js:
63         (BuildbotTriggerable.prototype.getBuilderNameToIDMap): Method to fetch BuilderNameToIDMap from Buildbot 0.9.
64         (BuildbotTriggerable.prototype.getBuilderNameToIDMapDeprecated): Method to fetch BuilderNameToIDMap from Buildbot 0.8.
65         (BuildbotTriggerable.prototype.initSyncers): Updated to use getBuilderNameToIDMap.
66         * unit-tests/buildbot-syncer-tests.js: Updated unit-tests.
67         * server-tests/resources/mock-data.js:
68         (MockData.buildbotBuildersURLDeprecated): URL for fetching Builders list.
69         (MockData.buildbotBuildersURL): Ditto for Buildbot 0.9
70         (MockData.mockBuildbotBuildersDeprecated): Sample builders data for Buildbot 0.8
71         (MockData.mockBuildbotBuilders): Ditto for Buildbot 0.9
72         * server-tests/tools-buildbot-triggerable-tests.js: Added test for getBuilderNameToIDMap. Updated tests to handle
73         newly added promise for fetching builders list from Buildbot.
74         * server-tests/tools-sync-buildbot-integration-tests.js: Ditto.
75
76 2018-01-18  Ryosuke Niwa  <rniwa@webkit.org>
77
78         Charts can be empty when values are all identical
79         https://bugs.webkit.org/show_bug.cgi?id=181828
80
81         Reviewed by Alexey Proskuryakov.
82
83         Fixed the bug that when SampleVarianceUpperTriangularMatrix can store -Infinity as the initial cost
84         of some entries when the sample standard deviation between two points turns out to be 0,
85         and cause splitIntoSegmentsUntilGoodEnough to return undefiend because no segmentation has a finite cost.
86
87         Also fixed the bug that the time series chart fails to show any data points when all data points have
88         identical values as the entire y-coordinate gets collapsed to an empty value range by adjusting the max value
89         when min & max values are identical.
90
91         * public/v3/components/time-series-chart.js:
92         (TimeSeriesChart.prototype._ensureValueRangeCache): Raise the max slightly when min & max are identical
93         to avoid the chart becoming empty. Otherwise valueDiff in _computeVerticalRenderingMetrics becomes 0
94         and value-to-y-coordinate conversion always results in NaN.
95         * public/shared/statistics.js:
96         (Statistics..SampleVarianceUpperTriangularMatrix):
97         * unit-tests/statistics-tests.js: Added a test case.
98
99 2018-01-18  Ryosuke Niwa  <rniwa@webkit.org>
100
101         Don't fetch more than two builds to check duplicity of builds in ReportProcessor
102         https://bugs.webkit.org/show_bug.cgi?id=181786
103
104         Reviewed by Wenson Hsieh.
105
106         Limit the number of builds to check to avoid using a lot of memory with a long delay.
107
108         * public/include/report-processor.php:
109         (ReportProcessor::resolve_build_id): 
110
111 2018-01-17  Ryosuke Niwa  <rniwa@webkit.org>
112
113         Rename config.json to config.json.sample
114         https://bugs.webkit.org/show_bug.cgi?id=181785
115
116         Reviewed by Wenson Hsieh.
117
118         * .gitignore: Added config.json.
119         * ReadMe.md: Updated the instruction.
120         * config.json.sample: Renamed from config.json.
121
122 2018-01-17  Ryosuke Niwa  <rniwa@webkit.org>
123
124         Unreviewed build fixes in TestGroupResultsViewer.
125
126         * public/v3/components/test-group-results-viewer.js:
127         (TestGroupResultsViewer.prototype.render): _renderCurrentMetricsLazily was never called.
128         (TestGroupResultsViewer.prototype._buildRowForMetric): Don't try to render null or NaN.
129
130 2018-01-17  Ryosuke Niwa  <rniwa@webkit.org>
131
132         Fix perf dashboard tests for node v8
133         https://bugs.webkit.org/show_bug.cgi?id=181782
134
135         Reviewed by Wenson Hsieh.
136
137         Fixed the various tests for node.js v8, which is the latest LTS version.
138
139         * server-tests/api-manifest-tests.js: Replaced the missing Triggerable.acceptsTest by Triggerable.acceptedTests
140         after r226836.
141         * server-tests/api-measurement-set-tests.js: Added "Z" to the end timestamps to force UTF timezone now that Date
142         in node.js parses using the local timezone by default.
143         * server-tests/resources/test-server.js:
144         (TestServer.prototype._restoreDataDirectory): Fixed the bug that this function was erroneously using the async
145         function to rename a directory per new warnings. This code was racy, and it used to cause a test error occasionally.
146         * server-tests/tools-os-build-fetcher-tests.js: Fixed the assertions to make it work in the latest node.js.
147         * unit-tests/measurement-set-tests.js:
148         (waitForMeasurementSet): Wait for setTimeout to cycle through all microtasks instead of just two microtask cycles.
149
150 2018-01-11  Ryosuke Niwa  <rniwa@webkit.org>
151
152         Cannot trigger Dromaeo tests on internal perf try bots
153         https://bugs.webkit.org/show_bug.cgi?id=179712
154
155         Reviewed by Chris Dumez.
156
157         The bug was caused by CustomAnalysisTaskConfigurator only showing the top-level tests that are triggerable
158         instead of the list of highest level tests that are triggerable.
159
160         * public/v3/components/custom-analysis-task-configurator.js:
161         (CustomAnalysisTaskConfigurator.prototype.selectTests): Update the test group name when a new test is picked.
162         (CustomAnalysisTaskConfigurator.prototype.selectPlatform):
163         (CustomAnalysisTaskConfigurator.prototype._didUpdateSelectedPlatforms): Extracted from selectPlatform.
164         (CustomAnalysisTaskConfigurator.prototype._renderTriggerableTests): Include the list of all highest-level tests
165         which are triggerable.
166         (CustomAnalysisTaskConfigurator.prototype._renderRadioButtonList): Added labelForObject which returns the label
167         to be used in the list items. For tests, we want to use the full name, not just its label.
168         * public/v3/models/analysis-task.js:
169         (AnalysisTask.fetchById):
170         * public/v3/models/triggerable.js:
171         (Triggerable.prototype.acceptedTests): Added.
172         (Triggerable.prototype.acceptsTest): Deleted.
173
174 == Rolled over to ChangeLog-2018-01-01 ==