Modified: trunk/Websites/perf.webkit.org/public/admin/triggerables.php (230665 => 230666)
--- trunk/Websites/perf.webkit.org/public/admin/triggerables.php 2018-04-16 05:38:01 UTC (rev 230665)
+++ trunk/Websites/perf.webkit.org/public/admin/triggerables.php 2018-04-16 06:58:36 UTC (rev 230666)
@@ -23,6 +23,9 @@
} else if ($action == 'update-group-description') {
if (update_field('triggerable_repository_groups', 'repositorygroup', 'description'))
regenerate_manifest();
+ } else if ($action == 'update-group-hidden') {
+ if (update_field('triggerable_repository_groups', 'repositorygroup', 'hidden'))
+ regenerate_manifest();
} else if ($action == 'update-group-accept-roots') {
if (update_field('triggerable_repository_groups', 'repositorygroup', 'accepts_roots',
Database::to_database_boolean(array_get($_POST, 'accepts'))))
@@ -39,7 +42,7 @@
regenerate_manifest();
} else
$db->rollback_transaction();
- } else if ($action == 'update-accept-patch') {
+ } else if ($action == 'update-accept-patch') {
$group_id = intval($_POST['group']);
$repositories_that_accepts_patch = array_get($_POST, 'repositories', array());
@@ -83,7 +86,7 @@
'disabled' => array('editing_mode' => 'boolean', 'post_insertion' => TRUE),
'repositories' => array(
'label' => 'Repository Groups',
- 'subcolumns'=> array('ID', 'Name', 'Description', 'Accepts Roots', 'Repositories', 'Accept patches'),
+ 'subcolumns'=> array('ID', 'Name', 'Description', 'Hidden', 'Accepts Roots', 'Repositories', 'Accept patches'),
'custom' => function ($triggerable_row) use (&$db, &$repository_rows) {
return generate_repository_list($db, $triggerable_row['triggerable_id'], $repository_rows);
}),
@@ -115,6 +118,7 @@
$group_id = $group_row['repositorygroup_id'];
$group_name = $group_row['repositorygroup_name'];
$group_description = $group_row['repositorygroup_description'];
+ $checked_if_hidden = Database::is_true($group_row['repositorygroup_hidden']) ? 'checked' : '';
$checked_if_accepts_roots = Database::is_true($group_row['repositorygroup_accepts_roots']) ? 'checked' : '';
$group_name_form = <<< END
@@ -133,6 +137,15 @@
</form>
END;
+ $group_hidden_form = <<< END
+ <form method="POST">
+ <input type="hidden" name="action" value="update-group-hidden">
+ <input type="hidden" name="id" value="$group_id">
+ <input type="checkbox" name="hidden" $checked_if_hidden>
+ <button type="submit">Save</button>
+ </form>
+END;
+
$group_accepts_roots = <<< END
<form method="POST">
<input type="hidden" name="action" value="update-group-accept-roots">
@@ -153,7 +166,7 @@
$repositories_that_accepts_patch[$repository_id] = Database::is_true($row['trigrepo_accepts_patch']);
}
- array_push($group_forms, array($group_id, $group_name_form, $group_description_form, $group_accepts_roots,
+ array_push($group_forms, array($group_id, $group_name_form, $group_description_form, $group_hidden_form, $group_accepts_roots,
generate_repository_form('update-repositories', $group_id, generate_repository_checkboxes($db, $repository_rows, $repositories_in_group)),
generate_repository_form('update-accept-patch', $group_id, generate_repository_checkboxes($db, $repository_rows, $repositories_that_accepts_patch)),
));
Modified: trunk/Websites/perf.webkit.org/server-tests/api-manifest-tests.js (230665 => 230666)
--- trunk/Websites/perf.webkit.org/server-tests/api-manifest-tests.js 2018-04-16 05:38:01 UTC (rev 230665)
+++ trunk/Websites/perf.webkit.org/server-tests/api-manifest-tests.js 2018-04-16 06:58:36 UTC (rev 230666)
@@ -296,6 +296,7 @@
return Promise.all([
db.insert('repositories', {id: 11, name: 'WebKit', url: 'https://trac.webkit.org/$1'}),
db.insert('repositories', {id: 9, name: 'macOS'}),
+ db.insert('repositories', {id: 16, name: 'Shared'}),
db.insert('repositories', {id: 101, name: 'WebKit', owner: 9, url: 'https://trac.webkit.org/$1'}),
db.insert('build_triggerables', {id: 200, name: 'build.webkit.org'}),
db.insert('build_triggerables', {id: 201, name: 'ios-build.webkit.org'}),
@@ -321,12 +322,15 @@
db.insert('triggerable_repository_groups', {id: 300, triggerable: 200, name: 'default'}),
db.insert('triggerable_repository_groups', {id: 301, triggerable: 201, name: 'default'}),
db.insert('triggerable_repository_groups', {id: 302, triggerable: 202, name: 'system-and-webkit'}),
- db.insert('triggerable_repository_groups', {id: 312, triggerable: 202, name: 'system-and-roots', accepts_roots: true}),
+ db.insert('triggerable_repository_groups', {id: 303, triggerable: 202, name: 'system-and-roots', accepts_roots: true}),
+ db.insert('triggerable_repository_groups', {id: 304, triggerable: 202, name: 'webkit-and-shared', hidden: true}),
db.insert('triggerable_repositories', {group: 300, repository: 11}),
db.insert('triggerable_repositories', {group: 301, repository: 11}),
db.insert('triggerable_repositories', {group: 302, repository: 11}),
+ db.insert('triggerable_repositories', {group: 304, repository: 11}),
db.insert('triggerable_repositories', {group: 302, repository: 9}),
- db.insert('triggerable_repositories', {group: 312, repository: 9}),
+ db.insert('triggerable_repositories', {group: 303, repository: 9}),
+ db.insert('triggerable_repositories', {group: 304, repository: 16}),
db.insert('triggerable_configurations', {triggerable: 200, test: 1, platform: 46}),
db.insert('triggerable_configurations', {triggerable: 200, test: 2, platform: 46}),
db.insert('triggerable_configurations', {triggerable: 201, test: 1, platform: 23}),
@@ -348,6 +352,9 @@
const macos = Repository.findById(9);
assert.equal(macos.name(), 'macOS');
+ const shared = Repository.findById(16);
+ assert.equal(shared.name(), 'Shared');
+
const someTest = Test.findById(1);
assert.equal(someTest.name(), 'SomeTest');
@@ -386,7 +393,7 @@
assert(macTriggerable.acceptedTests().has(someTest));
const groups = macTriggerable.repositoryGroups();
- assert.deepEqual(groups.length, 2);
+ assert.deepEqual(groups.length, 3);
TriggerableRepositoryGroup.sortByName(groups);
const emptyCustomSet = new CustomCommitSet;
@@ -401,21 +408,39 @@
const cusomSetWithWebKit = new CustomCommitSet;
cusomSetWithWebKit.setRevisionForRepository(webkit, '191622');
+ const cusomSetWithWebKitAndShared = new CustomCommitSet;
+ cusomSetWithWebKitAndShared.setRevisionForRepository(webkit, '191622');
+ cusomSetWithWebKitAndShared.setRevisionForRepository(shared, '86456');
+
assert.equal(groups[0].name(), 'system-and-roots');
+ assert.equal(groups[0].isHidden(), false);
assert.equal(groups[0].acceptsCustomRoots(), true);
assert.deepEqual(Repository.sortByName(groups[0].repositories()), [macos]);
assert.equal(groups[0].accepts(emptyCustomSet), false);
assert.equal(groups[0].accepts(customSetWithOSX), true);
assert.equal(groups[0].accepts(cusomSetWithOSXAndWebKit), false);
+ assert.equal(groups[0].accepts(cusomSetWithWebKitAndShared), false);
assert.equal(groups[0].accepts(cusomSetWithWebKit), false);
assert.equal(groups[1].name(), 'system-and-webkit');
+ assert.equal(groups[1].isHidden(), false);
assert.equal(groups[1].acceptsCustomRoots(), false);
assert.deepEqual(Repository.sortByName(groups[1].repositories()), [webkit, macos]);
assert.equal(groups[1].accepts(emptyCustomSet), false);
assert.equal(groups[1].accepts(customSetWithOSX), false);
assert.equal(groups[1].accepts(cusomSetWithOSXAndWebKit), true);
+ assert.equal(groups[1].accepts(cusomSetWithWebKitAndShared), false);
assert.equal(groups[1].accepts(cusomSetWithWebKit), false);
+
+ assert.equal(groups[2].name(), 'webkit-and-shared');
+ assert.equal(groups[2].isHidden(), true);
+ assert.equal(groups[2].acceptsCustomRoots(), false);
+ assert.deepEqual(Repository.sortByName(groups[2].repositories()), [shared, webkit]);
+ assert.equal(groups[2].accepts(emptyCustomSet), false);
+ assert.equal(groups[2].accepts(customSetWithOSX), false);
+ assert.equal(groups[2].accepts(cusomSetWithOSXAndWebKit), false);
+ assert.equal(groups[2].accepts(cusomSetWithWebKitAndShared), true);
+ assert.equal(groups[2].accepts(cusomSetWithWebKit), false);
});
});