Diff
Modified: trunk/Websites/perf.webkit.org/ChangeLog (229617 => 229618)
--- trunk/Websites/perf.webkit.org/ChangeLog 2018-03-14 22:58:29 UTC (rev 229617)
+++ trunk/Websites/perf.webkit.org/ChangeLog 2018-03-15 03:17:37 UTC (rev 229618)
@@ -1,3 +1,15 @@
+2018-03-14 Aakash Jain <[email protected]>
+
+ Add support for boolean properties in BuildbotSyncer while submitting build request to Buildbot 0.9 server
+ https://bugs.webkit.org/show_bug.cgi?id=183638
+
+ Reviewed by Ryosuke Niwa.
+
+ * tools/js/buildbot-syncer.js:
+ (BuildbotSyncer._parseRepositoryGroupPropertyTemplate): Allow boolean properties.
+ * server-tests/tools-sync-buildbot-integration-tests.js: Tests for boolean properties.
+ * unit-tests/buildbot-syncer-tests.js: Ditto.
+
2018-03-04 Dewei Zhu <[email protected]>
Create analysis task should use build time as fallback when commit time is not available.
Modified: trunk/Websites/perf.webkit.org/server-tests/tools-sync-buildbot-integration-tests.js (229617 => 229618)
--- trunk/Websites/perf.webkit.org/server-tests/tools-sync-buildbot-integration-tests.js 2018-03-14 22:58:29 UTC (rev 229617)
+++ trunk/Websites/perf.webkit.org/server-tests/tools-sync-buildbot-integration-tests.js 2018-03-15 03:17:37 UTC (rev 229618)
@@ -25,6 +25,7 @@
testProperties: {'wk': {'revision': 'WebKit'}, 'roots': {'roots': {}}},
buildProperties: {'wk': {'revision': 'WebKit'}, 'wk-patch': {'patch': 'WebKit'},
'checkbox': {'ifRepositorySet': ['WebKit'], 'value': 'build-wk'},
+ 'build-wk': {'ifRepositorySet': ['WebKit'], 'value': true},
'owned-commits': {'ownedRevisions': 'WebKit'}},
acceptsRoots: true,
}
@@ -70,6 +71,7 @@
testProperties: {'wk': {'revision': 'WebKit'}, 'roots': {'roots': {}}},
buildProperties: {'wk': {'revision': 'WebKit'}, 'wk-patch': {'patch': 'WebKit'},
'checkbox': {'ifRepositorySet': ['WebKit'], 'value': 'build-wk'},
+ 'build-wk': {'ifRepositorySet': ['WebKit'], 'value': true},
'owned-commits': {'ownedRevisions': 'WebKit'}},
acceptsRoots: true,
}
@@ -114,6 +116,7 @@
testProperties: {'wk': {'revision': 'WebKit'}, 'roots': {'roots': {}}},
buildProperties: {'wk': {'revision': 'WebKit'}, 'wk-patch': {'patch': 'WebKit'},
'checkbox': {'ifRepositorySet': ['WebKit'], 'value': 'build-wk'},
+ 'build-wk': {'ifRepositorySet': ['WebKit'], 'value': true},
'owned-commits': {'ownedRevisions': 'WebKit'}},
acceptsRoots: true,
}
@@ -382,7 +385,7 @@
assert.equal(requests.length, 7);
assertAndResolveRequest(requests[6], 'POST', '/builders/some%20builder/force', 'OK');
assert.deepEqual(requests[6].data, {'wk': '191622', 'wk-patch': RemoteAPI.url('/api/uploaded-file/1.dat'),
- 'build-request-id': '1', 'forcescheduler': 'force-ab-builds', 'checkbox': 'build-wk'});
+ 'build-request-id': '1', 'forcescheduler': 'force-ab-builds', 'checkbox': 'build-wk', 'build-wk': true});
return MockRemoteAPI.waitForRequest();
}).then(() => {
assert.equal(requests.length, 10);
@@ -496,7 +499,7 @@
}).then(() => {
assert.equal(requests.length, 7);
assertAndResolveRequest(requests[6], 'POST', '/builders/some%20builder/force', 'OK');
- assert.deepEqual(requests[6].data, {'wk': '191622', 'build-request-id': '2', 'forcescheduler': 'force-ab-builds', 'checkbox': 'build-wk'});
+ assert.deepEqual(requests[6].data, {'wk': '191622', 'build-request-id': '2', 'forcescheduler': 'force-ab-builds', 'checkbox': 'build-wk', 'build-wk': true});
return MockRemoteAPI.waitForRequest();
}).then(() => {
assert.equal(requests.length, 10);
@@ -655,7 +658,7 @@
assert.equal(requests.length, 7);
assertAndResolveRequest(requests[6], 'POST', '/builders/some%20builder/force', 'OK');
assert.deepEqual(requests[6].data, {'wk': '191622', 'wk-patch': RemoteAPI.url('/api/uploaded-file/1.dat'),
- 'build-request-id': '1', 'forcescheduler': 'force-ab-builds', 'checkbox': 'build-wk', 'platform-name': 'some platform'});
+ 'build-request-id': '1', 'forcescheduler': 'force-ab-builds', 'checkbox': 'build-wk', 'build-wk': true, 'platform-name': 'some platform'});
return MockRemoteAPI.waitForRequest();
}).then(() => {
assert.equal(requests.length, 10);
@@ -769,7 +772,7 @@
}).then(() => {
assert.equal(requests.length, 7);
assertAndResolveRequest(requests[6], 'POST', '/builders/some%20builder/force', 'OK');
- assert.deepEqual(requests[6].data, {'wk': '191622', 'build-request-id': '2', 'forcescheduler': 'force-ab-builds', 'checkbox': 'build-wk', 'platform-name': 'some platform'});
+ assert.deepEqual(requests[6].data, {'wk': '191622', 'build-request-id': '2', 'forcescheduler': 'force-ab-builds', 'checkbox': 'build-wk', 'build-wk': true, 'platform-name': 'some platform'});
return MockRemoteAPI.waitForRequest();
}).then(() => {
assert.equal(requests.length, 10);
Modified: trunk/Websites/perf.webkit.org/tools/js/buildbot-syncer.js (229617 => 229618)
--- trunk/Websites/perf.webkit.org/tools/js/buildbot-syncer.js 2018-03-14 22:58:29 UTC (rev 229617)
+++ trunk/Websites/perf.webkit.org/tools/js/buildbot-syncer.js 2018-03-15 03:17:37 UTC (rev 229618)
@@ -576,7 +576,7 @@
for (const propertyName in properties) {
let value = properties[propertyName];
const isDictionary = typeof(value) == 'object';
- assert(isDictionary || typeof(value) == 'string',
+ assert(isDictionary || typeof(value) == 'string' || typeof(value) == 'boolean',
`Repository group "${groupName}" uses an invalid value "${value}" in property "${propertyName}"`);
if (!isDictionary) {
Modified: trunk/Websites/perf.webkit.org/unit-tests/buildbot-syncer-tests.js (229617 => 229618)
--- trunk/Websites/perf.webkit.org/unit-tests/buildbot-syncer-tests.js 2018-03-14 22:58:29 UTC (rev 229617)
+++ trunk/Websites/perf.webkit.org/unit-tests/buildbot-syncer-tests.js 2018-03-15 03:17:37 UTC (rev 229618)
@@ -1102,6 +1102,7 @@
'webkit': {'revision': 'WebKit'},
'webkit-patch': {'patch': 'WebKit'},
'checkbox': {'ifRepositorySet': ['WebKit'], 'value': 'build-webkit'},
+ 'build-webkit': {'ifRepositorySet': ['WebKit'], 'value': true},
'shared': {'revision': 'Shared'},
},
'acceptsRoots': true,
@@ -1112,6 +1113,7 @@
assert.equal(properties['webkit'], '197463');
assert.equal(properties['webkit-patch'], 'http://build.webkit.org/api/uploaded-file/453.dat');
assert.equal(properties['checkbox'], 'build-webkit');
+ assert.equal(properties['build-webkit'], true);
});
it('should resolve "ifBuilt"', () => {
@@ -1162,12 +1164,14 @@
'webkit': {'revision': 'WebKit'},
'shared': {'revision': 'Shared'},
'roots': {'roots': {}},
- 'checkbox': {'ifBuilt': ['WebKit'], 'value': 'test-webkit'}
+ 'checkbox': {'ifBuilt': ['WebKit'], 'value': 'test-webkit'},
+ 'test-webkit': {'ifBuilt': ['WebKit'], 'value': true}
},
'buildProperties': {
'webkit': {'revision': 'WebKit'},
'webkit-patch': {'patch': 'WebKit'},
'checkbox': {'ifRepositorySet': ['WebKit'], 'value': 'build-webkit'},
+ 'build-webkit': {'ifRepositorySet': ['WebKit'], 'value': true},
'shared': {'revision': 'Shared'},
},
'acceptsRoots': true,
@@ -1179,6 +1183,7 @@
assert.equal(properties['webkit'], '197463');
assert.equal(properties['roots'], '[{"url":"http://build.webkit.org/api/uploaded-file/456.dat"}]');
assert.equal(properties['checkbox'], 'test-webkit');
+ assert.equal(properties['test-webkit'], true);
});
it('should not set the value for "ifBuilt" if no build for the repository in the list appears', () => {
@@ -1190,7 +1195,8 @@
'webkit': {'revision': 'WebKit'},
'owner-repo': {'revision': 'Owner Repository'},
'roots': {'roots': {}},
- 'checkbox': {'ifBuilt': ['WebKit'], 'value': 'test-webkit'}
+ 'checkbox': {'ifBuilt': ['WebKit'], 'value': 'test-webkit'},
+ 'test-webkit': {'ifBuilt': ['WebKit'], 'value': true}
},
'buildProperties': {
'webkit': {'revision': 'WebKit'},
@@ -1197,6 +1203,7 @@
'webkit-patch': {'patch': 'WebKit'},
'owner-repo': {'revision': 'Owner Repository'},
'checkbox': {'ifRepositorySet': ['WebKit'], 'value': 'build-webkit'},
+ 'build-webkit': {'ifRepositorySet': ['WebKit'], 'value': true},
'owned-commits': {'ownedRevisions': 'Owner Repository'}
},
'acceptsRoots': true,
@@ -1209,6 +1216,7 @@
assert.equal(properties['webkit'], '197463');
assert.equal(properties['roots'], '[{"url":"http://build.webkit.org/api/uploaded-file/456.dat"}]');
assert.equal(properties['checkbox'], undefined);
+ assert.equal(properties['test-webkit'], undefined);
});
it('should resolve "ifRepositorySet" and "requiresBuild"', () => {
@@ -1226,6 +1234,7 @@
'webkit-patch': {'patch': 'WebKit'},
'owner-repo': {'revision': 'Owner Repository'},
'checkbox': {'ifRepositorySet': ['WebKit'], 'value': 'build-webkit'},
+ 'build-webkit': {'ifRepositorySet': ['WebKit'], 'value': true},
'owned-commits': {'ownedRevisions': 'Owner Repository'}
},
'acceptsRoots': true,
@@ -1236,6 +1245,7 @@
assert.equal(properties['webkit'], '197463');
assert.equal(properties['owner-repo'], 'owner-001');
assert.equal(properties['checkbox'], undefined);
+ assert.equal(properties['build-webkit'], undefined);
assert.deepEqual(JSON.parse(properties['owned-commits']), {'Owner Repository': [{revision: 'owned-002', repository: 'Owned Repository', ownerRevision: 'owner-001'}]});
});
@@ -1255,6 +1265,7 @@
'webkit-patch': {'patch': 'WebKit'},
'owner-repo': {'revision': 'Owner Repository'},
'checkbox': {'ifRepositorySet': ['WebKit'], 'value': 'build-webkit'},
+ 'build-webkit': {'ifRepositorySet': ['WebKit'], 'value': true},
'owned-commits': {'ownedRevisions': 'Owner Repository'}
},
'acceptsRoots': true,
@@ -1265,6 +1276,7 @@
assert.equal(properties['webkit'], '197463');
assert.equal(properties['owner-repo'], 'owner-001');
assert.equal(properties['checkbox'], 'build-webkit');
+ assert.equal(properties['build-webkit'], true);
assert.equal(properties['webkit-patch'], 'http://build.webkit.org/api/uploaded-file/453.dat');
assert.deepEqual(JSON.parse(properties['owned-commits']), {'Owner Repository': [{revision: 'owned-002', repository: 'Owned Repository', ownerRevision: 'owner-001'}]});
});