@@ -13152,62 +13152,119 @@ module.exports = {"$id":"log.json#","$schema":"http://json-schema.org/draft-06/s
13152
13152
13153
13153
"use strict";
13154
13154
13155
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13156
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13157
+ return new (P || (P = Promise))(function (resolve, reject) {
13158
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
13159
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13160
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
13161
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
13162
+ });
13163
+ };
13164
+ var __generator = (this && this.__generator) || function (thisArg, body) {
13165
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13166
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13167
+ function verb(n) { return function (v) { return step([n, v]); }; }
13168
+ function step(op) {
13169
+ if (f) throw new TypeError("Generator is already executing.");
13170
+ while (_) try {
13171
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
13172
+ if (y = 0, t) op = [op[0] & 2, t.value];
13173
+ switch (op[0]) {
13174
+ case 0: case 1: t = op; break;
13175
+ case 4: _.label++; return { value: op[1], done: false };
13176
+ case 5: _.label++; y = op[1]; op = [0]; continue;
13177
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
13178
+ default:
13179
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
13180
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
13181
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
13182
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
13183
+ if (t[2]) _.ops.pop();
13184
+ _.trys.pop(); continue;
13185
+ }
13186
+ op = body.call(thisArg, _);
13187
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
13188
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
13189
+ }
13190
+ };
13155
13191
exports.__esModule = true;
13156
13192
var core = __webpack_require__(470);
13157
13193
var exec = __webpack_require__(986);
13158
13194
var fs = __webpack_require__(747);
13159
13195
var request = __webpack_require__(335);
13160
13196
var buildExec_1 = __webpack_require__(983);
13197
+ var validate_1 = __webpack_require__(743);
13161
13198
var failCi;
13162
13199
try {
13163
13200
request({
13164
13201
json: false,
13165
13202
maxAttempts: 10,
13166
13203
timeout: 3000,
13167
13204
url: 'https://codecov.io/bash',
13168
- }, function (error, response, body) {
13169
- var _a = buildExec_1["default"](), execArgs = _a.execArgs, options = _a.options, filepath = _a.filepath, failCi = _a.failCi;
13170
- try {
13171
- if (error && failCi) {
13172
- throw error;
13173
- }
13174
- else if (error) {
13175
- core.warning("Codecov warning: " + error.message);
13176
- }
13177
- fs.writeFile(filepath, body, function (err) {
13178
- if (err && failCi) {
13179
- throw err;
13180
- }
13181
- else if (err) {
13182
- core.warning("Codecov warning: " + err.message);
13183
- }
13184
- exec.exec('bash', execArgs, options)["catch"](function (err) {
13185
- if (failCi) {
13186
- core.setFailed("Codecov failed with the following error: " + err.message);
13205
+ }, function (error, response, body) { return __awaiter(void 0, void 0, void 0, function () {
13206
+ var _a, execArgs, options, filepath, failCi, isValid, failure, error_1;
13207
+ return __generator(this, function (_b) {
13208
+ switch (_b.label) {
13209
+ case 0:
13210
+ _a = buildExec_1["default"](), execArgs = _a.execArgs, options = _a.options, filepath = _a.filepath, failCi = _a.failCi;
13211
+ _b.label = 1;
13212
+ case 1:
13213
+ _b.trys.push([1, 3, , 4]);
13214
+ return [4 /*yield*/, validate_1["default"](body)];
13215
+ case 2:
13216
+ isValid = _b.sent();
13217
+ if (!isValid) {
13218
+ failure = 'Codecov failure: ' +
13219
+ 'Bash script checksums do not match published values. ' +
13220
+ 'Please contact
[email protected] immediately.';
13221
+ core.setFailed(failure);
13222
+ throw new Error(failure);
13187
13223
}
13188
- else {
13189
- core.warning("Codecov warning: " + err.message) ;
13224
+ if (error && failCi) {
13225
+ throw error ;
13190
13226
}
13191
- })
13192
- .then(function () {
13193
- unlinkFile();
13194
- });
13195
- var unlinkFile = function () {
13196
- fs.unlink(filepath, function (err) {
13227
+ else if (error) {
13228
+ core.warning("Codecov warning: " + error.message);
13229
+ }
13230
+ fs.writeFile(filepath, body, function (err) {
13197
13231
if (err && failCi) {
13198
13232
throw err;
13199
13233
}
13200
13234
else if (err) {
13201
13235
core.warning("Codecov warning: " + err.message);
13202
13236
}
13237
+ exec.exec('bash', execArgs, options)["catch"](function (err) {
13238
+ if (failCi) {
13239
+ core.setFailed("Codecov failed with the following error: " + err.message);
13240
+ }
13241
+ else {
13242
+ core.warning("Codecov warning: " + err.message);
13243
+ }
13244
+ })
13245
+ .then(function () {
13246
+ unlinkFile();
13247
+ });
13248
+ var unlinkFile = function () {
13249
+ fs.unlink(filepath, function (err) {
13250
+ if (err && failCi) {
13251
+ throw err;
13252
+ }
13253
+ else if (err) {
13254
+ core.warning("Codecov warning: " + err.message);
13255
+ }
13256
+ });
13257
+ };
13203
13258
});
13204
- };
13205
- });
13206
- }
13207
- catch (error) {
13208
- core.setFailed("Codecov failed with the following error: " + error.message);
13209
- }
13210
- });
13259
+ return [3 /*break*/, 4];
13260
+ case 3:
13261
+ error_1 = _b.sent();
13262
+ core.setFailed("Codecov failed with the following error: " + error_1.message);
13263
+ return [3 /*break*/, 4];
13264
+ case 4: return [2 /*return*/];
13265
+ }
13266
+ });
13267
+ }); });
13211
13268
}
13212
13269
catch (error) {
13213
13270
if (failCi) {
@@ -49116,7 +49173,121 @@ module.exports = function (data, opts) {
49116
49173
49117
49174
49118
49175
/***/ }),
49119
- /* 743 */,
49176
+ /* 743 */
49177
+ /***/ (function(__unusedmodule, exports, __webpack_require__) {
49178
+
49179
+ "use strict";
49180
+
49181
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
49182
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
49183
+ return new (P || (P = Promise))(function (resolve, reject) {
49184
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
49185
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
49186
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
49187
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
49188
+ });
49189
+ };
49190
+ var __generator = (this && this.__generator) || function (thisArg, body) {
49191
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
49192
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
49193
+ function verb(n) { return function (v) { return step([n, v]); }; }
49194
+ function step(op) {
49195
+ if (f) throw new TypeError("Generator is already executing.");
49196
+ while (_) try {
49197
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
49198
+ if (y = 0, t) op = [op[0] & 2, t.value];
49199
+ switch (op[0]) {
49200
+ case 0: case 1: t = op; break;
49201
+ case 4: _.label++; return { value: op[1], done: false };
49202
+ case 5: _.label++; y = op[1]; op = [0]; continue;
49203
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
49204
+ default:
49205
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
49206
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
49207
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
49208
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
49209
+ if (t[2]) _.ops.pop();
49210
+ _.trys.pop(); continue;
49211
+ }
49212
+ op = body.call(thisArg, _);
49213
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
49214
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
49215
+ }
49216
+ };
49217
+ exports.__esModule = true;
49218
+ exports.retrieveChecksum = void 0;
49219
+ var crypto = __webpack_require__(417);
49220
+ var core = __webpack_require__(470);
49221
+ var request = __webpack_require__(335);
49222
+ var validateUploader = function (body) { return __awaiter(void 0, void 0, void 0, function () {
49223
+ var version, _i, _a, i, publicChecksum, uploaderChecksum;
49224
+ return __generator(this, function (_b) {
49225
+ switch (_b.label) {
49226
+ case 0:
49227
+ version = getVersion(body);
49228
+ if (version === null) {
49229
+ core.warning('Codecov could not identify the bash uploader version.');
49230
+ return [2 /*return*/, false];
49231
+ }
49232
+ _i = 0, _a = [1, 256, 512];
49233
+ _b.label = 1;
49234
+ case 1:
49235
+ if (!(_i < _a.length)) return [3 /*break*/, 4];
49236
+ i = _a[_i];
49237
+ return [4 /*yield*/, exports.retrieveChecksum(version, i)];
49238
+ case 2:
49239
+ publicChecksum = _b.sent();
49240
+ uploaderChecksum = calculateChecksum(body, i);
49241
+ if (uploaderChecksum !== publicChecksum.trim()) {
49242
+ core.warning("Codecov " + version + " checksums for SHA" + i + " failed to match.\n" +
49243
+ ("Public checksum: " + publicChecksum) +
49244
+ ("Uploader checksum: " + uploaderChecksum));
49245
+ return [2 /*return*/, false];
49246
+ }
49247
+ _b.label = 3;
49248
+ case 3:
49249
+ _i++;
49250
+ return [3 /*break*/, 1];
49251
+ case 4: return [2 /*return*/, true];
49252
+ }
49253
+ });
49254
+ }); };
49255
+ var retrieveChecksum = function (version, encryption) { return __awaiter(void 0, void 0, void 0, function () {
49256
+ var url, response;
49257
+ return __generator(this, function (_a) {
49258
+ switch (_a.label) {
49259
+ case 0:
49260
+ url = "https://raw.githubusercontent.com/codecov/codecov-bash/" + version + "/SHA" + encryption + "SUM";
49261
+ return [4 /*yield*/, request({
49262
+ maxAttempts: 10,
49263
+ timeout: 3000,
49264
+ url: url,
49265
+ })];
49266
+ case 1:
49267
+ response = _a.sent();
49268
+ if (response.statusCode != 200) {
49269
+ core.warning("Codecov could not retrieve checksum SHA" + encryption + " at " + url);
49270
+ return [2 /*return*/, ''];
49271
+ }
49272
+ return [2 /*return*/, response.body];
49273
+ }
49274
+ });
49275
+ }); };
49276
+ exports.retrieveChecksum = retrieveChecksum;
49277
+ var calculateChecksum = function (body, i) {
49278
+ var shasum = crypto.createHash("sha" + i);
49279
+ shasum.update(body);
49280
+ return shasum.digest('hex') + " codecov";
49281
+ };
49282
+ var getVersion = function (body) {
49283
+ var regex = /VERSION="(.*)+"/g;
49284
+ var match = regex.exec(body);
49285
+ return match ? match[1] : null;
49286
+ };
49287
+ exports["default"] = validateUploader;
49288
+
49289
+
49290
+ /***/ }),
49120
49291
/* 744 */
49121
49292
/***/ (function(module) {
49122
49293
0 commit comments