forked from SFDO-Community/Summit-Events-App
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcumulusci.yml
130 lines (115 loc) · 4.74 KB
/
cumulusci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
minimum_cumulusci_version: '2.5.5'
project:
name: SummitEventsApp
package:
name: Summit Events App
namespace: summit
api_version: '51.0'
source_format: sfdx
tasks:
deploy_site_config:
description: Deploys configuration for Development.
class_path: cumulusci.tasks.salesforce.Deploy
options:
namespace_inject: $project_config.project__package__namespace
path: unpackaged/config/site
unmanaged: True
deploy_guest_sharing_rules:
description: Deploys configuration for Development.
class_path: cumulusci.tasks.salesforce.Deploy
options:
namespace_inject: $project_config.project__package__namespace
path: unpackaged/config/sharing
unmanaged: True
deploy_site_settings:
description: Setup the Custom Settings for the Event Site
class_path: cumulusci.tasks.apex.anon.AnonymousApexTask
options:
apex: >
Site mySite = [SELECT Id FROM Site WHERE Name = 'Summit_Events'];
SiteDetail mySiteDetail = [SELECT SecureURL FROM SiteDetail WHERE DurableId = :mySite.Id];
String url = mySiteDetail.SecureURL;
Summit_Events_Settings__c eventSettings = Summit_Events_Settings__c.getOrgDefaults();
eventSettings.Community_Base_URL__c = url;
eventSettings.Managed_Package__c = false;
upsert eventSettings;
deploy_permission_set:
description: Give System Admins Event Admin Permission Set
class_path: cumulusci.tasks.apex.anon.AnonymousApexTask
options:
apex: >
List<PermissionSet> eventPermissionSets;
eventPermissionSets = [SELECT Name, Id FROM PermissionSet WHERE Name = 'Summit_Events_Admin'];
List<PermissionSetAssignment> permissionSetList = new List<PermissionSetAssignment>();
if (!eventPermissionSets.isEmpty()) {
for (User u: [ SELECT ID FROM User WHERE Profile.Name = 'System Administrator' ]) {
permissionSetList.add(new PermissionSetAssignment(PermissionSetId = eventPermissionSets[0].Id, AssigneeId = u.Id));
}
}
if (!permissionSetList.isEmpty()) {
upsert permissionSetList;
}
deploy_guest_permission_set:
description: Give System Admins Event Admin Permission Set
class_path: cumulusci.tasks.apex.anon.AnonymousApexTask
options:
apex: >
String siteName = 'Summit_Events';
Site site = [
SELECT GuestUserId
FROM Site
WHERE Name = :siteName
];
List<PermissionSet> eventPermissionSets;
eventPermissionSets = [SELECT Name, Id FROM PermissionSet WHERE Name = 'Summit_Events_Registrant'];
List<PermissionSetAssignment> permissionSetList = new List<PermissionSetAssignment>();
if (!eventPermissionSets.isEmpty()) {
permissionSetList.add(new PermissionSetAssignment(PermissionSetId = eventPermissionSets[0].Id, AssigneeId = site.GuestUserId));
}
if (!permissionSetList.isEmpty()) {
upsert permissionSetList;
}
deploy_dev_event_records:
description: Configure sample records for the Event app
class_path: cumulusci.tasks.bulkdata.load.LoadData
options:
mapping: datasets/dev/mapping.yml
sql_path: datasets/dev/data.sql
robot:
options:
suites: robot/SummitEventsApp/tests
options:
outputdir: robot/SummitEventsApp/results
robot_testdoc:
options:
path: robot/SummitEventsApp/tests
output: robot/SummitEventsApp/doc/SummitEventsApp_tests.html
flows:
config_qa:
steps:
3:
task: deploy_dev_event_records
4:
task: deploy_permission_set
5:
task: deploy_site_config
6:
task: deploy_site_settings
7:
task: deploy_guest_permission_set
8:
task: deploy_guest_sharing_rules
config_dev:
steps:
3:
task: deploy_dev_event_records
4:
task: deploy_permission_set
5:
task: deploy_site_config
6:
task: deploy_site_settings
7:
task: deploy_guest_permission_set
8:
task: deploy_guest_sharing_rules