@clickview/ship-it 0.0.44 → 0.0.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config.json +1 -1
- package/dist/P3/P3 Notes Audit.csv +49 -0
- package/lib/config.json +1 -1
- package/lib/src/tasks/CheckReleaseReadyTask.js +144 -22
- package/package.json +1 -1
package/config.json
CHANGED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
projectName,mrTitle,mrAuthor,mrAssignee,mrUrl,notes
|
|
2
|
+
clickview,Lite: Incremental exports for Marc,Shale Kuzmanovski,Nischal Shrestha,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5708,"# Lite
|
|
3
|
+
- Added a link to our KB article about exporting libraries to the export libraries settings page.
|
|
4
|
+
- When selecting the `MARC 21 V2` or `MARC XML` library export formats. Admins can now additionally select from which date they would like the export to start from. Implements INBOX-9351.
|
|
5
|
+
|
|
6
|
+
"
|
|
7
|
+
clickview,Lite: SearchV2 - Enable public access,Nischal Shrestha,Shale Kuzmanovski,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5699,"# Lite
|
|
8
|
+
* Enable new search for public access."
|
|
9
|
+
clickview,Player: Fix captions bug with theatre mode,Shale Kuzmanovski,Nan Chen,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5690,"# Player
|
|
10
|
+
- Fixed a bug where captions wouldn't reposition when toggling between theatre mode and default mode. Fixes INBOX-9276."
|
|
11
|
+
clickview,User man - Super admin support,Nan Chen,Joshua Taylor,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5687,"# Lite
|
|
12
|
+
- In the Curator user manager, a super admin account can be created and edited:
|
|
13
|
+
|
|
14
|
+

|
|
15
|
+
|
|
16
|
+

|
|
17
|
+
- For a Super Admin account, they can create/edit another Super Admin staff account:
|
|
18
|
+

|
|
19
|
+
- For an ordinary Admin, they cannot create/edit a Super Admin staff:
|
|
20
|
+

|
|
21
|
+
- In Lite, a non-super admin cannot update a super admin account (edit, deactivate, remove etc.)
|
|
22
|
+
"
|
|
23
|
+
clickview,User man - Support superAdmin badge,Nan Chen,Joshua Taylor,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5671,"# Lite
|
|
24
|
+
* If a user is a Super Admin, it should display a badge to differentiate from an Admin. For AU/UK it's called `Org Admin`, for US it's `District Admin`.
|
|
25
|
+

|
|
26
|
+

|
|
27
|
+
|
|
28
|
+
# Curator
|
|
29
|
+
* If a user is a Super Admin, it should display a badge to differentiate from an Admin. For AU/UK it's called `Org Admin`, for US it's `District Admin`.
|
|
30
|
+

|
|
31
|
+
"
|
|
32
|
+
clickview,Player: Allow looping videos,Shale Kuzmanovski,Boris Berak,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5666,"# Player
|
|
33
|
+
- The player now provides the option for the video to be looped. Note: Turning on play next video will turn off loop video, and vice versa. Implements PLAY-243.
|
|
34
|
+
|
|
35
|
+

|
|
36
|
+
- Fix the casing of the player's menu items."
|
|
37
|
+
clickview,Curator: POI form safeguard,Joshua Taylor,Shale Kuzmanovski,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5665,"# Curator
|
|
38
|
+
- In the Points of Interest form in the content pipeline, if you manually add/edit a POI and accidentally click on the ""X"", you are shown a warning then asked to click X again before actually closing the form."
|
|
39
|
+
clickview,Player: Captions indicator,Shale Kuzmanovski,Boris Berak,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5663,"# Player
|
|
40
|
+
- The player will now indicate if captions and theatre mode are switched on. Implements INBOX-8757.
|
|
41
|
+
|
|
42
|
+
"
|
|
43
|
+
clickview,Shared - Fix img overflow issue,Nan Chen,Nischal Shrestha,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5661,"# Lite
|
|
44
|
+
- Fix an issue where the images start to overflow the containers on the login page.
|
|
45
|
+
"
|
|
46
|
+
File.Api,Support utf8 file name,Ryan Wang,Prad Nepal,https://gitlab.cvinternal.net/clickview/back-end/File.Api/-/merge_requests/65,* Fixed an issue where file uploaded with UTF-8 characters file name have these characters stripped when downloading them. Closes INBOX-9210
|
|
47
|
+
Tv.Web,"Add 7twoHd Perth small channel logo, partially implements INBOX-9165",Wei Zong,Ryan Wang,https://gitlab.cvinternal.net/clickview/back-end/tv/Tv.Web/-/merge_requests/255,"* Customer shoud see the new 7twoHD channels in 5 AU resions. The old `7two` channel should be disabled
|
|
48
|
+
* Rename `ABC Entertains` to `ABC Entertains HD`
|
|
49
|
+
* Rename `ABC News 24` to `ABC News HD`"
|
package/lib/config.json
CHANGED
|
@@ -62,50 +62,172 @@ var CheckReleaseReadyTask = /** @class */ (function () {
|
|
|
62
62
|
this.trelloService = trelloService;
|
|
63
63
|
}
|
|
64
64
|
CheckReleaseReadyTask.prototype.run = function (options) {
|
|
65
|
+
var _a;
|
|
65
66
|
return __awaiter(this, void 0, void 0, function () {
|
|
66
|
-
var projects, _i, projects_1, project,
|
|
67
|
-
return __generator(this, function (
|
|
68
|
-
switch (
|
|
67
|
+
var projects, deployDependenciesTasks, beforeReleaseTasks, afterReleaseTasks, sqlSections, _i, projects_1, project, branchName, mergeRequest, owner, deployDependencies, beforeTasks, afterTasks, beforeSQL, afterSQL, _b, deployDependenciesTasks_1, task, _c, beforeReleaseTasks_1, task, _d, afterReleaseTasks_1, task, _e, sqlSections_1, sql, milestoneLabel, deployDependenciesMessage, beforeTasksMessage, afterTasksMessage, sqlMessage, taskSummary;
|
|
68
|
+
return __generator(this, function (_f) {
|
|
69
|
+
switch (_f.label) {
|
|
69
70
|
case 0:
|
|
70
71
|
Logger_1.Logger.logTask('Checking status of the current release...');
|
|
71
|
-
return [4 /*yield*/, this.service.
|
|
72
|
+
return [4 /*yield*/, this.service.getReleaseProjects(options.milestone, options.projectIds, options.omittedProjectIds, options.sourceBranch)];
|
|
72
73
|
case 1:
|
|
73
|
-
projects =
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
74
|
+
projects = _f.sent();
|
|
75
|
+
deployDependenciesTasks = [];
|
|
76
|
+
beforeReleaseTasks = [];
|
|
77
|
+
afterReleaseTasks = [];
|
|
78
|
+
sqlSections = [];
|
|
77
79
|
_i = 0, projects_1 = projects;
|
|
78
|
-
|
|
80
|
+
_f.label = 2;
|
|
79
81
|
case 2:
|
|
80
82
|
if (!(_i < projects_1.length)) return [3 /*break*/, 7];
|
|
81
83
|
project = projects_1[_i];
|
|
82
84
|
return [4 /*yield*/, this.service.getNextBranchInfo(project.id, options.version)];
|
|
83
85
|
case 3:
|
|
84
|
-
|
|
86
|
+
branchName = (_f.sent()).branchName;
|
|
85
87
|
return [4 /*yield*/, this.service.getMergeRequest(project.id, branchName)];
|
|
86
88
|
case 4:
|
|
87
|
-
mergeRequest =
|
|
88
|
-
if (!mergeRequest)
|
|
89
|
+
mergeRequest = _f.sent();
|
|
90
|
+
if (!mergeRequest)
|
|
89
91
|
return [3 /*break*/, 6];
|
|
90
|
-
}
|
|
91
|
-
description = utils_1.Descriptions.getDescriptionSection('BeforeRelease', mergeRequest);
|
|
92
|
-
if (!description) {
|
|
93
|
-
return [3 /*break*/, 6];
|
|
94
|
-
}
|
|
95
92
|
return [4 /*yield*/, this.trelloService.getMember(mergeRequest.url)];
|
|
96
93
|
case 5:
|
|
97
|
-
owner =
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
94
|
+
owner = (_a = _f.sent()) !== null && _a !== void 0 ? _a : 'Unknown';
|
|
95
|
+
deployDependencies = utils_1.Descriptions.getDescriptionSection('Dependencies', mergeRequest);
|
|
96
|
+
beforeTasks = utils_1.Descriptions.getDescriptionSubSection('BeforeRelease', 'Tasks', mergeRequest);
|
|
97
|
+
afterTasks = utils_1.Descriptions.getDescriptionSubSection('AfterRelease', 'Tasks', mergeRequest);
|
|
98
|
+
beforeSQL = utils_1.Descriptions.getDescriptionSubSection('BeforeRelease', 'SQL', mergeRequest);
|
|
99
|
+
afterSQL = utils_1.Descriptions.getDescriptionSubSection('AfterRelease', 'SQL', mergeRequest);
|
|
100
|
+
if (deployDependencies) {
|
|
101
|
+
deployDependenciesTasks.push({
|
|
102
|
+
project: project.title,
|
|
103
|
+
mr: mergeRequest.title,
|
|
104
|
+
content: deployDependencies,
|
|
105
|
+
owner: owner
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
if (beforeTasks) {
|
|
109
|
+
beforeReleaseTasks.push({
|
|
110
|
+
project: project.title,
|
|
111
|
+
mr: mergeRequest.title,
|
|
112
|
+
content: beforeTasks,
|
|
113
|
+
owner: owner
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
if (afterTasks) {
|
|
117
|
+
afterReleaseTasks.push({
|
|
118
|
+
project: project.title,
|
|
119
|
+
mr: mergeRequest.title,
|
|
120
|
+
content: afterTasks,
|
|
121
|
+
owner: owner
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
if (beforeSQL) {
|
|
125
|
+
sqlSections.push({
|
|
126
|
+
project: project.title,
|
|
127
|
+
mr: mergeRequest.title,
|
|
128
|
+
content: beforeSQL,
|
|
129
|
+
phase: 'BeforeRelease',
|
|
130
|
+
owner: owner
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
if (afterSQL) {
|
|
134
|
+
sqlSections.push({
|
|
135
|
+
project: project.title,
|
|
136
|
+
mr: mergeRequest.title,
|
|
137
|
+
content: afterSQL,
|
|
138
|
+
phase: 'AfterRelease',
|
|
139
|
+
owner: owner
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
_f.label = 6;
|
|
101
143
|
case 6:
|
|
102
144
|
_i++;
|
|
103
145
|
return [3 /*break*/, 2];
|
|
104
|
-
case 7:
|
|
146
|
+
case 7:
|
|
147
|
+
// PRINTING TIME
|
|
148
|
+
Logger_1.Logger.logInfo('====== ALL DEPLOY DEPENDENCIES ======');
|
|
149
|
+
for (_b = 0, deployDependenciesTasks_1 = deployDependenciesTasks; _b < deployDependenciesTasks_1.length; _b++) {
|
|
150
|
+
task = deployDependenciesTasks_1[_b];
|
|
151
|
+
Logger_1.Logger.logMessage("\uD83D\uDD39 ".concat(task.project, " | ").concat(task.mr, " | \uD83D\uDC64 ").concat(task.owner));
|
|
152
|
+
Logger_1.Logger.logMessage(task.content);
|
|
153
|
+
}
|
|
154
|
+
Logger_1.Logger.logInfo('====== ALL BEFORE RELEASE TASKS ======');
|
|
155
|
+
for (_c = 0, beforeReleaseTasks_1 = beforeReleaseTasks; _c < beforeReleaseTasks_1.length; _c++) {
|
|
156
|
+
task = beforeReleaseTasks_1[_c];
|
|
157
|
+
Logger_1.Logger.logMessage("\uD83D\uDD39 ".concat(task.project, " | ").concat(task.mr, " | \uD83D\uDC64 ").concat(task.owner));
|
|
158
|
+
Logger_1.Logger.logMessage(task.content);
|
|
159
|
+
}
|
|
160
|
+
Logger_1.Logger.logInfo('====== ALL AFTER RELEASE TASKS ======');
|
|
161
|
+
for (_d = 0, afterReleaseTasks_1 = afterReleaseTasks; _d < afterReleaseTasks_1.length; _d++) {
|
|
162
|
+
task = afterReleaseTasks_1[_d];
|
|
163
|
+
Logger_1.Logger.logMessage("\uD83D\uDD39 ".concat(task.project, " | ").concat(task.mr, " | \uD83D\uDC64 ").concat(task.owner));
|
|
164
|
+
Logger_1.Logger.logMessage(task.content);
|
|
165
|
+
}
|
|
166
|
+
Logger_1.Logger.logInfo('====== ALL SQL CHANGES (with context) ======');
|
|
167
|
+
for (_e = 0, sqlSections_1 = sqlSections; _e < sqlSections_1.length; _e++) {
|
|
168
|
+
sql = sqlSections_1[_e];
|
|
169
|
+
Logger_1.Logger.logMessage("\uD83E\uDDFE ".concat(sql.project, " | ").concat(sql.mr, " (").concat(sql.phase === 'BeforeRelease' ? 'Before Release' : 'After Release', ") | \uD83D\uDC64 ").concat(sql.owner));
|
|
170
|
+
Logger_1.Logger.logMessage(sql.content);
|
|
171
|
+
}
|
|
172
|
+
if (!options.slackNotifier) return [3 /*break*/, 11];
|
|
173
|
+
milestoneLabel = "".concat(options.milestone, " Release");
|
|
174
|
+
deployDependenciesMessage = this.formatTaskSection('Deploy Dependencies', deployDependenciesTasks);
|
|
175
|
+
beforeTasksMessage = this.formatTaskSection('Before Release Tasks', beforeReleaseTasks);
|
|
176
|
+
afterTasksMessage = this.formatTaskSection('After Release Tasks', afterReleaseTasks);
|
|
177
|
+
sqlMessage = this.formatSQLSection(sqlSections);
|
|
178
|
+
taskSummary = [deployDependenciesMessage, beforeTasksMessage, afterTasksMessage].filter(Boolean).join('\n');
|
|
179
|
+
if (!taskSummary) return [3 /*break*/, 9];
|
|
180
|
+
return [4 /*yield*/, this.slackService.sendSlackStatusMessage({
|
|
181
|
+
emailList: [],
|
|
182
|
+
threadLabel: "".concat(milestoneLabel, " Tasks & Dependencies"),
|
|
183
|
+
statusMessage: taskSummary,
|
|
184
|
+
statusCleanMessage: 'No Before/After Release Tasks found!'
|
|
185
|
+
})];
|
|
186
|
+
case 8:
|
|
187
|
+
_f.sent();
|
|
188
|
+
_f.label = 9;
|
|
189
|
+
case 9:
|
|
190
|
+
if (!sqlMessage) return [3 /*break*/, 11];
|
|
191
|
+
return [4 /*yield*/, this.slackService.sendSlackStatusMessage({
|
|
192
|
+
emailList: [],
|
|
193
|
+
threadLabel: "".concat(milestoneLabel, " SQL"),
|
|
194
|
+
statusMessage: sqlMessage,
|
|
195
|
+
statusCleanMessage: 'No SQL changes found in release!',
|
|
196
|
+
sendAsFile: true
|
|
197
|
+
})];
|
|
198
|
+
case 10:
|
|
199
|
+
_f.sent();
|
|
200
|
+
_f.label = 11;
|
|
201
|
+
case 11: return [2 /*return*/, true];
|
|
105
202
|
}
|
|
106
203
|
});
|
|
107
204
|
});
|
|
108
205
|
};
|
|
206
|
+
CheckReleaseReadyTask.prototype.formatTaskSection = function (title, items) {
|
|
207
|
+
if (items.length === 0)
|
|
208
|
+
return 'No tasks found!';
|
|
209
|
+
var output = "## ".concat(title, "\n\n");
|
|
210
|
+
for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {
|
|
211
|
+
var item = items_1[_i];
|
|
212
|
+
output += "### ".concat(item.project, " \u2013 ").concat(item.mr, "\n");
|
|
213
|
+
output += "**Owner:** ".concat(item.owner, "\n\n");
|
|
214
|
+
output += "".concat(item.content.trim(), "\n");
|
|
215
|
+
}
|
|
216
|
+
return output;
|
|
217
|
+
};
|
|
218
|
+
CheckReleaseReadyTask.prototype.formatSQLSection = function (items) {
|
|
219
|
+
if (items.length === 0)
|
|
220
|
+
return 'No SQL found!';
|
|
221
|
+
var output = "## SQL Changes\n\n";
|
|
222
|
+
for (var _i = 0, items_2 = items; _i < items_2.length; _i++) {
|
|
223
|
+
var item = items_2[_i];
|
|
224
|
+
var phaseLabel = item.phase === 'BeforeRelease' ? 'Before Release' : 'After Release';
|
|
225
|
+
output += "### ".concat(item.project, " \u2013 ").concat(item.mr, " (").concat(phaseLabel, ")\n");
|
|
226
|
+
output += "**Owner:** ".concat(item.owner, "\n\n");
|
|
227
|
+
output += "".concat(item.content.trim(), "\n");
|
|
228
|
+
}
|
|
229
|
+
return output;
|
|
230
|
+
};
|
|
109
231
|
CheckReleaseReadyTask = __decorate([
|
|
110
232
|
(0, inversify_1.injectable)(),
|
|
111
233
|
__param(0, (0, inversify_1.inject)(types_1.SERVICES.GitLabService)),
|