Create 1.2.0 release
Some checks failed
PR Checks / check_pr (push) Has been cancelled

This commit is contained in:
Nick Cipollo
2019-12-12 16:03:50 -05:00
parent dba5ad58d6
commit d8a9f1e813
418 changed files with 83306 additions and 2 deletions

31
lib/ErrorMessage.js Normal file
View File

@@ -0,0 +1,31 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const GithubError_1 = require("./GithubError");
class ErrorMessage {
constructor(error) {
this.error = error;
}
toString() {
const message = this.error.message;
const errors = this.githubErrors();
if (errors.length > 0) {
return `${message}\nErrors:\n${this.errorBulletedList(errors)}`;
}
else {
return message;
}
}
githubErrors() {
const errors = this.error.errors;
if (errors instanceof Array) {
return errors.map((err) => new GithubError_1.GithubError(err));
}
else {
return [];
}
}
errorBulletedList(errors) {
return errors.map((err) => `- ${err}`).join("\n");
}
}
exports.ErrorMessage = ErrorMessage;

53
lib/GithubError.js Normal file
View File

@@ -0,0 +1,53 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
class GithubError {
constructor(error) {
this.error = error;
}
toString() {
const code = this.error.code;
switch (code) {
case 'missing':
return this.missingResourceMessage();
case 'missing_field':
return this.missingFieldMessage();
case 'invalid':
return this.invalidFieldMessage();
case 'already_exists':
return this.resourceAlreadyExists();
default:
return this.customErrorMessage();
}
}
customErrorMessage() {
const message = this.error.message;
const documentation = this.error.documentation_url;
let documentationMessage;
if (documentation) {
documentationMessage = `\nPlease see ${documentation}.`;
}
else {
documentationMessage = "";
}
return `${message}${documentationMessage}`;
}
invalidFieldMessage() {
const resource = this.error.resource;
const field = this.error.field;
return `The ${field} field on ${resource} is an invalid format.`;
}
missingResourceMessage() {
const resource = this.error.resource;
return `${resource} does not exist.`;
}
missingFieldMessage() {
const resource = this.error.resource;
const field = this.error.field;
return `The ${field} field on ${resource} is missing.`;
}
resourceAlreadyExists() {
const resource = this.error.resource;
return `${resource} already exists.`;
}
}
exports.GithubError = GithubError;

View File

@@ -22,6 +22,7 @@ const Releases_1 = require("./Releases");
const Action_1 = require("./Action");
const ArtifactUploader_1 = require("./ArtifactUploader");
const ArtifactGlobber_1 = require("./ArtifactGlobber");
const ErrorMessage_1 = require("./ErrorMessage");
function run() {
return __awaiter(this, void 0, void 0, function* () {
try {
@@ -29,7 +30,8 @@ function run() {
yield action.perform();
}
catch (error) {
core.setFailed(error.message);
const errorMessage = new ErrorMessage_1.ErrorMessage(error);
core.setFailed(errorMessage.toString());
}
});
}