gitlab-radiator 3.4.1 → 3.4.3
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/package.json +29 -29
- package/public/client.js +1 -1
- package/src/app.js +1 -41
- package/src/auth.js +4 -8
- package/src/config.js +0 -12
- package/src/gitlab/client.js +0 -11
- package/src/gitlab/index.js +0 -30
- package/src/gitlab/pipelines.js +4 -80
- package/src/gitlab/projects.js +2 -28
- package/src/gitlab/runners.js +0 -13
package/src/gitlab/pipelines.js
CHANGED
|
@@ -1,39 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.fetchLatestPipelines = fetchLatestPipelines;
|
|
9
|
-
|
|
10
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
-
|
|
16
11
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
17
|
-
|
|
18
12
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
19
|
-
|
|
20
13
|
var _client = require("./client");
|
|
21
|
-
|
|
22
14
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
23
|
-
|
|
24
15
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
25
|
-
|
|
26
16
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
27
|
-
|
|
28
17
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
29
|
-
|
|
30
18
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
31
|
-
|
|
32
19
|
function fetchLatestPipelines(_x, _x2) {
|
|
33
20
|
return _fetchLatestPipelines.apply(this, arguments);
|
|
34
21
|
} // eslint-disable-next-line max-statements
|
|
35
|
-
|
|
36
|
-
|
|
37
22
|
function _fetchLatestPipelines() {
|
|
38
23
|
_fetchLatestPipelines = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(projectId, gitlab) {
|
|
39
24
|
var pipelines;
|
|
@@ -43,13 +28,11 @@ function _fetchLatestPipelines() {
|
|
|
43
28
|
case 0:
|
|
44
29
|
_context2.next = 2;
|
|
45
30
|
return fetchLatestAndMasterPipeline(projectId, gitlab);
|
|
46
|
-
|
|
47
31
|
case 2:
|
|
48
32
|
pipelines = _context2.sent;
|
|
49
33
|
return _context2.abrupt("return", Promise.all(pipelines.map( /*#__PURE__*/function () {
|
|
50
34
|
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_ref) {
|
|
51
35
|
var id, ref, status, _yield$fetchJobs, commit, stages, downstreamStages;
|
|
52
|
-
|
|
53
36
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
54
37
|
while (1) {
|
|
55
38
|
switch (_context.prev = _context.next) {
|
|
@@ -57,14 +40,12 @@ function _fetchLatestPipelines() {
|
|
|
57
40
|
id = _ref.id, ref = _ref.ref, status = _ref.status;
|
|
58
41
|
_context.next = 3;
|
|
59
42
|
return fetchJobs(projectId, id, gitlab);
|
|
60
|
-
|
|
61
43
|
case 3:
|
|
62
44
|
_yield$fetchJobs = _context.sent;
|
|
63
45
|
commit = _yield$fetchJobs.commit;
|
|
64
46
|
stages = _yield$fetchJobs.stages;
|
|
65
47
|
_context.next = 8;
|
|
66
48
|
return fetchDownstreamJobs(projectId, id, gitlab);
|
|
67
|
-
|
|
68
49
|
case 8:
|
|
69
50
|
downstreamStages = _context.sent;
|
|
70
51
|
return _context.abrupt("return", {
|
|
@@ -74,7 +55,6 @@ function _fetchLatestPipelines() {
|
|
|
74
55
|
commit,
|
|
75
56
|
stages: stages.concat(downstreamStages)
|
|
76
57
|
});
|
|
77
|
-
|
|
78
58
|
case 10:
|
|
79
59
|
case "end":
|
|
80
60
|
return _context.stop();
|
|
@@ -82,12 +62,10 @@ function _fetchLatestPipelines() {
|
|
|
82
62
|
}
|
|
83
63
|
}, _callee);
|
|
84
64
|
}));
|
|
85
|
-
|
|
86
65
|
return function (_x14) {
|
|
87
66
|
return _ref2.apply(this, arguments);
|
|
88
67
|
};
|
|
89
68
|
}())));
|
|
90
|
-
|
|
91
69
|
case 4:
|
|
92
70
|
case "end":
|
|
93
71
|
return _context2.stop();
|
|
@@ -97,11 +75,9 @@ function _fetchLatestPipelines() {
|
|
|
97
75
|
}));
|
|
98
76
|
return _fetchLatestPipelines.apply(this, arguments);
|
|
99
77
|
}
|
|
100
|
-
|
|
101
78
|
function fetchLatestAndMasterPipeline(_x3, _x4) {
|
|
102
79
|
return _fetchLatestAndMasterPipeline.apply(this, arguments);
|
|
103
80
|
}
|
|
104
|
-
|
|
105
81
|
function _fetchLatestAndMasterPipeline() {
|
|
106
82
|
_fetchLatestAndMasterPipeline = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(projectId, config) {
|
|
107
83
|
var pipelines, latestPipeline, latestMasterPipeline, masterPipelines;
|
|
@@ -113,50 +89,38 @@ function _fetchLatestAndMasterPipeline() {
|
|
|
113
89
|
return fetchPipelines(projectId, config, {
|
|
114
90
|
per_page: 100
|
|
115
91
|
});
|
|
116
|
-
|
|
117
92
|
case 2:
|
|
118
93
|
pipelines = _context3.sent;
|
|
119
|
-
|
|
120
94
|
if (!(pipelines.length === 0)) {
|
|
121
95
|
_context3.next = 5;
|
|
122
96
|
break;
|
|
123
97
|
}
|
|
124
|
-
|
|
125
98
|
return _context3.abrupt("return", []);
|
|
126
|
-
|
|
127
99
|
case 5:
|
|
128
100
|
latestPipeline = _lodash.default.take(pipelines, 1);
|
|
129
|
-
|
|
130
101
|
if (!(latestPipeline[0].ref === 'master')) {
|
|
131
102
|
_context3.next = 8;
|
|
132
103
|
break;
|
|
133
104
|
}
|
|
134
|
-
|
|
135
105
|
return _context3.abrupt("return", latestPipeline);
|
|
136
|
-
|
|
137
106
|
case 8:
|
|
138
107
|
latestMasterPipeline = (0, _lodash.default)(pipelines).filter({
|
|
139
108
|
ref: 'master'
|
|
140
109
|
}).take(1).value();
|
|
141
|
-
|
|
142
110
|
if (!(latestMasterPipeline.length > 0)) {
|
|
143
111
|
_context3.next = 11;
|
|
144
112
|
break;
|
|
145
113
|
}
|
|
146
|
-
|
|
147
114
|
return _context3.abrupt("return", latestPipeline.concat(latestMasterPipeline));
|
|
148
|
-
|
|
149
115
|
case 11:
|
|
150
116
|
_context3.next = 13;
|
|
151
117
|
return fetchPipelines(projectId, config, {
|
|
152
118
|
per_page: 50,
|
|
153
119
|
ref: 'master'
|
|
154
120
|
});
|
|
155
|
-
|
|
156
121
|
case 13:
|
|
157
122
|
masterPipelines = _context3.sent;
|
|
158
123
|
return _context3.abrupt("return", latestPipeline.concat(_lodash.default.take(masterPipelines, 1)));
|
|
159
|
-
|
|
160
124
|
case 15:
|
|
161
125
|
case "end":
|
|
162
126
|
return _context3.stop();
|
|
@@ -166,27 +130,22 @@ function _fetchLatestAndMasterPipeline() {
|
|
|
166
130
|
}));
|
|
167
131
|
return _fetchLatestAndMasterPipeline.apply(this, arguments);
|
|
168
132
|
}
|
|
169
|
-
|
|
170
133
|
function fetchPipelines(_x5, _x6, _x7) {
|
|
171
134
|
return _fetchPipelines.apply(this, arguments);
|
|
172
135
|
}
|
|
173
|
-
|
|
174
136
|
function _fetchPipelines() {
|
|
175
137
|
_fetchPipelines = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(projectId, config, options) {
|
|
176
138
|
var _yield$gitlabRequest, pipelines;
|
|
177
|
-
|
|
178
139
|
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
179
140
|
while (1) {
|
|
180
141
|
switch (_context4.prev = _context4.next) {
|
|
181
142
|
case 0:
|
|
182
143
|
_context4.next = 2;
|
|
183
144
|
return (0, _client.gitlabRequest)("/projects/".concat(projectId, "/pipelines"), options, config);
|
|
184
|
-
|
|
185
145
|
case 2:
|
|
186
146
|
_yield$gitlabRequest = _context4.sent;
|
|
187
147
|
pipelines = _yield$gitlabRequest.data;
|
|
188
148
|
return _context4.abrupt("return", pipelines.filter(pipeline => pipeline.status !== 'skipped'));
|
|
189
|
-
|
|
190
149
|
case 5:
|
|
191
150
|
case "end":
|
|
192
151
|
return _context4.stop();
|
|
@@ -196,15 +155,12 @@ function _fetchPipelines() {
|
|
|
196
155
|
}));
|
|
197
156
|
return _fetchPipelines.apply(this, arguments);
|
|
198
157
|
}
|
|
199
|
-
|
|
200
158
|
function fetchDownstreamJobs(_x8, _x9, _x10) {
|
|
201
159
|
return _fetchDownstreamJobs.apply(this, arguments);
|
|
202
160
|
}
|
|
203
|
-
|
|
204
161
|
function _fetchDownstreamJobs() {
|
|
205
162
|
_fetchDownstreamJobs = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(projectId, pipelineId, config) {
|
|
206
163
|
var _yield$gitlabRequest2, gitlabBridgeJobs, childPipelines, downstreamStages, _iterator, _step, _loop;
|
|
207
|
-
|
|
208
164
|
return _regenerator.default.wrap(function _callee5$(_context6) {
|
|
209
165
|
while (1) {
|
|
210
166
|
switch (_context6.prev = _context6.next) {
|
|
@@ -213,7 +169,6 @@ function _fetchDownstreamJobs() {
|
|
|
213
169
|
return (0, _client.gitlabRequest)("/projects/".concat(projectId, "/pipelines/").concat(pipelineId, "/bridges"), {
|
|
214
170
|
per_page: 100
|
|
215
171
|
}, config);
|
|
216
|
-
|
|
217
172
|
case 2:
|
|
218
173
|
_yield$gitlabRequest2 = _context6.sent;
|
|
219
174
|
gitlabBridgeJobs = _yield$gitlabRequest2.data;
|
|
@@ -223,7 +178,6 @@ function _fetchDownstreamJobs() {
|
|
|
223
178
|
_context6.prev = 7;
|
|
224
179
|
_loop = /*#__PURE__*/_regenerator.default.mark(function _loop() {
|
|
225
180
|
var childPipeline, _yield$fetchJobs2, stages;
|
|
226
|
-
|
|
227
181
|
return _regenerator.default.wrap(function _loop$(_context5) {
|
|
228
182
|
while (1) {
|
|
229
183
|
switch (_context5.prev = _context5.next) {
|
|
@@ -231,14 +185,12 @@ function _fetchDownstreamJobs() {
|
|
|
231
185
|
childPipeline = _step.value;
|
|
232
186
|
_context5.next = 3;
|
|
233
187
|
return fetchJobs(projectId, childPipeline.downstream_pipeline.id, config);
|
|
234
|
-
|
|
235
188
|
case 3:
|
|
236
189
|
_yield$fetchJobs2 = _context5.sent;
|
|
237
190
|
stages = _yield$fetchJobs2.stages;
|
|
238
191
|
downstreamStages.push(stages.map(stage => _objectSpread(_objectSpread({}, stage), {}, {
|
|
239
192
|
name: "".concat(childPipeline.stage, ":").concat(stage.name)
|
|
240
193
|
})));
|
|
241
|
-
|
|
242
194
|
case 6:
|
|
243
195
|
case "end":
|
|
244
196
|
return _context5.stop();
|
|
@@ -246,41 +198,29 @@ function _fetchDownstreamJobs() {
|
|
|
246
198
|
}
|
|
247
199
|
}, _loop);
|
|
248
200
|
});
|
|
249
|
-
|
|
250
201
|
_iterator.s();
|
|
251
|
-
|
|
252
202
|
case 10:
|
|
253
203
|
if ((_step = _iterator.n()).done) {
|
|
254
204
|
_context6.next = 14;
|
|
255
205
|
break;
|
|
256
206
|
}
|
|
257
|
-
|
|
258
207
|
return _context6.delegateYield(_loop(), "t0", 12);
|
|
259
|
-
|
|
260
208
|
case 12:
|
|
261
209
|
_context6.next = 10;
|
|
262
210
|
break;
|
|
263
|
-
|
|
264
211
|
case 14:
|
|
265
212
|
_context6.next = 19;
|
|
266
213
|
break;
|
|
267
|
-
|
|
268
214
|
case 16:
|
|
269
215
|
_context6.prev = 16;
|
|
270
216
|
_context6.t1 = _context6["catch"](7);
|
|
271
|
-
|
|
272
217
|
_iterator.e(_context6.t1);
|
|
273
|
-
|
|
274
218
|
case 19:
|
|
275
219
|
_context6.prev = 19;
|
|
276
|
-
|
|
277
220
|
_iterator.f();
|
|
278
|
-
|
|
279
221
|
return _context6.finish(19);
|
|
280
|
-
|
|
281
222
|
case 22:
|
|
282
223
|
return _context6.abrupt("return", downstreamStages.flat());
|
|
283
|
-
|
|
284
224
|
case 23:
|
|
285
225
|
case "end":
|
|
286
226
|
return _context6.stop();
|
|
@@ -290,15 +230,12 @@ function _fetchDownstreamJobs() {
|
|
|
290
230
|
}));
|
|
291
231
|
return _fetchDownstreamJobs.apply(this, arguments);
|
|
292
232
|
}
|
|
293
|
-
|
|
294
233
|
function fetchJobs(_x11, _x12, _x13) {
|
|
295
234
|
return _fetchJobs.apply(this, arguments);
|
|
296
235
|
}
|
|
297
|
-
|
|
298
236
|
function _fetchJobs() {
|
|
299
237
|
_fetchJobs = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(projectId, pipelineId, config) {
|
|
300
238
|
var _yield$gitlabRequest3, gitlabJobs, commit, stages;
|
|
301
|
-
|
|
302
239
|
return _regenerator.default.wrap(function _callee6$(_context7) {
|
|
303
240
|
while (1) {
|
|
304
241
|
switch (_context7.prev = _context7.next) {
|
|
@@ -307,18 +244,14 @@ function _fetchJobs() {
|
|
|
307
244
|
return (0, _client.gitlabRequest)("/projects/".concat(projectId, "/pipelines/").concat(pipelineId, "/jobs?include_retried=true"), {
|
|
308
245
|
per_page: 100
|
|
309
246
|
}, config);
|
|
310
|
-
|
|
311
247
|
case 2:
|
|
312
248
|
_yield$gitlabRequest3 = _context7.sent;
|
|
313
249
|
gitlabJobs = _yield$gitlabRequest3.data;
|
|
314
|
-
|
|
315
250
|
if (!(gitlabJobs.length === 0)) {
|
|
316
251
|
_context7.next = 6;
|
|
317
252
|
break;
|
|
318
253
|
}
|
|
319
|
-
|
|
320
254
|
return _context7.abrupt("return", {});
|
|
321
|
-
|
|
322
255
|
case 6:
|
|
323
256
|
commit = findCommit(gitlabJobs);
|
|
324
257
|
stages = (0, _lodash.default)(gitlabJobs).map(job => ({
|
|
@@ -331,9 +264,8 @@ function _fetchJobs() {
|
|
|
331
264
|
url: job.web_url
|
|
332
265
|
})).orderBy('id').groupBy('stage').mapValues(mergeRetriedJobs).mapValues(cleanup).toPairs().map(_ref3 => {
|
|
333
266
|
var _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
267
|
+
name = _ref4[0],
|
|
268
|
+
jobs = _ref4[1];
|
|
337
269
|
return {
|
|
338
270
|
name,
|
|
339
271
|
jobs: _lodash.default.sortBy(jobs, 'name')
|
|
@@ -343,7 +275,6 @@ function _fetchJobs() {
|
|
|
343
275
|
commit,
|
|
344
276
|
stages
|
|
345
277
|
});
|
|
346
|
-
|
|
347
278
|
case 9:
|
|
348
279
|
case "end":
|
|
349
280
|
return _context7.stop();
|
|
@@ -353,36 +284,29 @@ function _fetchJobs() {
|
|
|
353
284
|
}));
|
|
354
285
|
return _fetchJobs.apply(this, arguments);
|
|
355
286
|
}
|
|
356
|
-
|
|
357
287
|
function findCommit(jobs) {
|
|
358
288
|
var _jobs$filter = jobs.filter(j => j.commit),
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
289
|
+
_jobs$filter2 = (0, _slicedToArray2.default)(_jobs$filter, 1),
|
|
290
|
+
job = _jobs$filter2[0];
|
|
362
291
|
if (!job) {
|
|
363
292
|
return null;
|
|
364
293
|
}
|
|
365
|
-
|
|
366
294
|
return {
|
|
367
295
|
title: job.commit.title,
|
|
368
296
|
author: job.commit.author_name
|
|
369
297
|
};
|
|
370
298
|
}
|
|
371
|
-
|
|
372
299
|
function mergeRetriedJobs(jobs) {
|
|
373
300
|
return jobs.reduce((mergedJobs, job) => {
|
|
374
301
|
var index = mergedJobs.findIndex(mergedJob => mergedJob.name === job.name);
|
|
375
|
-
|
|
376
302
|
if (index >= 0) {
|
|
377
303
|
mergedJobs[index] = job;
|
|
378
304
|
} else {
|
|
379
305
|
mergedJobs.push(job);
|
|
380
306
|
}
|
|
381
|
-
|
|
382
307
|
return mergedJobs;
|
|
383
308
|
}, []);
|
|
384
309
|
}
|
|
385
|
-
|
|
386
310
|
function cleanup(jobs) {
|
|
387
311
|
return (0, _lodash.default)(jobs).map(job => _lodash.default.omitBy(job, _lodash.default.isNull)).map(job => _lodash.default.omit(job, 'stage')).value();
|
|
388
312
|
}
|
package/src/gitlab/projects.js
CHANGED
|
@@ -1,22 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.fetchProjects = fetchProjects;
|
|
9
|
-
|
|
10
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
-
|
|
14
10
|
var _client = require("./client");
|
|
15
|
-
|
|
16
11
|
function fetchProjects(_x) {
|
|
17
12
|
return _fetchProjects.apply(this, arguments);
|
|
18
13
|
}
|
|
19
|
-
|
|
20
14
|
function _fetchProjects() {
|
|
21
15
|
_fetchProjects = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(gitlab) {
|
|
22
16
|
var projects;
|
|
@@ -26,12 +20,11 @@ function _fetchProjects() {
|
|
|
26
20
|
case 0:
|
|
27
21
|
_context.next = 2;
|
|
28
22
|
return fetchOwnProjects(gitlab);
|
|
29
|
-
|
|
30
23
|
case 2:
|
|
31
24
|
projects = _context.sent;
|
|
32
|
-
return _context.abrupt("return", projects
|
|
25
|
+
return _context.abrupt("return", projects
|
|
26
|
+
// Ignore projects for which CI/CD is not enabled
|
|
33
27
|
.filter(project => project.jobs_enabled).map(projectMapper).filter(includeRegexFilter(gitlab)).filter(excludeRegexFilter(gitlab)).filter(archivedFilter(gitlab)));
|
|
34
|
-
|
|
35
28
|
case 4:
|
|
36
29
|
case "end":
|
|
37
30
|
return _context.stop();
|
|
@@ -41,15 +34,12 @@ function _fetchProjects() {
|
|
|
41
34
|
}));
|
|
42
35
|
return _fetchProjects.apply(this, arguments);
|
|
43
36
|
}
|
|
44
|
-
|
|
45
37
|
function fetchOwnProjects(_x2) {
|
|
46
38
|
return _fetchOwnProjects.apply(this, arguments);
|
|
47
39
|
}
|
|
48
|
-
|
|
49
40
|
function _fetchOwnProjects() {
|
|
50
41
|
_fetchOwnProjects = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(gitlab) {
|
|
51
42
|
var projects, SAFETY_MAX_PAGE, page, _yield$gitlabRequest, data, headers;
|
|
52
|
-
|
|
53
43
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
54
44
|
while (1) {
|
|
55
45
|
switch (_context2.prev = _context2.next) {
|
|
@@ -57,41 +47,33 @@ function _fetchOwnProjects() {
|
|
|
57
47
|
projects = [];
|
|
58
48
|
SAFETY_MAX_PAGE = 10;
|
|
59
49
|
page = 1;
|
|
60
|
-
|
|
61
50
|
case 3:
|
|
62
51
|
if (!(page <= SAFETY_MAX_PAGE)) {
|
|
63
52
|
_context2.next = 15;
|
|
64
53
|
break;
|
|
65
54
|
}
|
|
66
|
-
|
|
67
55
|
_context2.next = 6;
|
|
68
56
|
return (0, _client.gitlabRequest)('/projects', {
|
|
69
57
|
page,
|
|
70
58
|
per_page: 100,
|
|
71
59
|
membership: true
|
|
72
60
|
}, gitlab);
|
|
73
|
-
|
|
74
61
|
case 6:
|
|
75
62
|
_yield$gitlabRequest = _context2.sent;
|
|
76
63
|
data = _yield$gitlabRequest.data;
|
|
77
64
|
headers = _yield$gitlabRequest.headers;
|
|
78
65
|
projects.push(data);
|
|
79
|
-
|
|
80
66
|
if (!(data.length === 0 || !headers['x-next-page'])) {
|
|
81
67
|
_context2.next = 12;
|
|
82
68
|
break;
|
|
83
69
|
}
|
|
84
|
-
|
|
85
70
|
return _context2.abrupt("break", 15);
|
|
86
|
-
|
|
87
71
|
case 12:
|
|
88
72
|
page += 1;
|
|
89
73
|
_context2.next = 3;
|
|
90
74
|
break;
|
|
91
|
-
|
|
92
75
|
case 15:
|
|
93
76
|
return _context2.abrupt("return", projects.flat());
|
|
94
|
-
|
|
95
77
|
case 16:
|
|
96
78
|
case "end":
|
|
97
79
|
return _context2.stop();
|
|
@@ -101,7 +83,6 @@ function _fetchOwnProjects() {
|
|
|
101
83
|
}));
|
|
102
84
|
return _fetchOwnProjects.apply(this, arguments);
|
|
103
85
|
}
|
|
104
|
-
|
|
105
86
|
function projectMapper(project) {
|
|
106
87
|
return {
|
|
107
88
|
id: project.id,
|
|
@@ -114,40 +95,33 @@ function projectMapper(project) {
|
|
|
114
95
|
tags: (project.tag_list || []).map(t => t.toLowerCase())
|
|
115
96
|
};
|
|
116
97
|
}
|
|
117
|
-
|
|
118
98
|
function getGroupName(project) {
|
|
119
99
|
var pathWithNameSpace = project.path_with_namespace;
|
|
120
100
|
return pathWithNameSpace.split('/')[0];
|
|
121
101
|
}
|
|
122
|
-
|
|
123
102
|
function includeRegexFilter(config) {
|
|
124
103
|
return project => {
|
|
125
104
|
if (config.projects && config.projects.include) {
|
|
126
105
|
var includeRegex = new RegExp(config.projects.include, "i");
|
|
127
106
|
return includeRegex.test(project.name);
|
|
128
107
|
}
|
|
129
|
-
|
|
130
108
|
return true;
|
|
131
109
|
};
|
|
132
110
|
}
|
|
133
|
-
|
|
134
111
|
function excludeRegexFilter(config) {
|
|
135
112
|
return project => {
|
|
136
113
|
if (config.projects && config.projects.exclude) {
|
|
137
114
|
var excludeRegex = new RegExp(config.projects.exclude, "i");
|
|
138
115
|
return !excludeRegex.test(project.name);
|
|
139
116
|
}
|
|
140
|
-
|
|
141
117
|
return true;
|
|
142
118
|
};
|
|
143
119
|
}
|
|
144
|
-
|
|
145
120
|
function archivedFilter(config) {
|
|
146
121
|
return project => {
|
|
147
122
|
if (config.ignoreArchived) {
|
|
148
123
|
return !project.archived;
|
|
149
124
|
}
|
|
150
|
-
|
|
151
125
|
return true;
|
|
152
126
|
};
|
|
153
127
|
}
|
package/src/gitlab/runners.js
CHANGED
|
@@ -1,22 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.fetchOfflineRunners = fetchOfflineRunners;
|
|
9
|
-
|
|
10
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
-
|
|
14
10
|
var _client = require("./client");
|
|
15
|
-
|
|
16
11
|
function fetchOfflineRunners(_x) {
|
|
17
12
|
return _fetchOfflineRunners.apply(this, arguments);
|
|
18
13
|
}
|
|
19
|
-
|
|
20
14
|
function _fetchOfflineRunners() {
|
|
21
15
|
_fetchOfflineRunners = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(gitlab) {
|
|
22
16
|
var runners, offline;
|
|
@@ -26,7 +20,6 @@ function _fetchOfflineRunners() {
|
|
|
26
20
|
case 0:
|
|
27
21
|
_context.next = 2;
|
|
28
22
|
return fetchRunners(gitlab);
|
|
29
|
-
|
|
30
23
|
case 2:
|
|
31
24
|
runners = _context.sent;
|
|
32
25
|
offline = runners.filter(r => r.status === 'offline');
|
|
@@ -34,7 +27,6 @@ function _fetchOfflineRunners() {
|
|
|
34
27
|
offline,
|
|
35
28
|
totalCount: runners.length
|
|
36
29
|
});
|
|
37
|
-
|
|
38
30
|
case 5:
|
|
39
31
|
case "end":
|
|
40
32
|
return _context.stop();
|
|
@@ -44,22 +36,18 @@ function _fetchOfflineRunners() {
|
|
|
44
36
|
}));
|
|
45
37
|
return _fetchOfflineRunners.apply(this, arguments);
|
|
46
38
|
}
|
|
47
|
-
|
|
48
39
|
function fetchRunners(_x2) {
|
|
49
40
|
return _fetchRunners.apply(this, arguments);
|
|
50
41
|
}
|
|
51
|
-
|
|
52
42
|
function _fetchRunners() {
|
|
53
43
|
_fetchRunners = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(gitlab) {
|
|
54
44
|
var _yield$gitlabRequest, runners;
|
|
55
|
-
|
|
56
45
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
57
46
|
while (1) {
|
|
58
47
|
switch (_context2.prev = _context2.next) {
|
|
59
48
|
case 0:
|
|
60
49
|
_context2.next = 2;
|
|
61
50
|
return (0, _client.gitlabRequest)('/runners', {}, gitlab);
|
|
62
|
-
|
|
63
51
|
case 2:
|
|
64
52
|
_yield$gitlabRequest = _context2.sent;
|
|
65
53
|
runners = _yield$gitlabRequest.data;
|
|
@@ -67,7 +55,6 @@ function _fetchRunners() {
|
|
|
67
55
|
name: r.description || r.id,
|
|
68
56
|
status: r.status
|
|
69
57
|
})));
|
|
70
|
-
|
|
71
58
|
case 5:
|
|
72
59
|
case "end":
|
|
73
60
|
return _context2.stop();
|