Fixes #26 Update dependencies and fix octokit types

Fixes #27 Add inputs for specifying owner and repo
This commit is contained in:
Nick Cipollo
2021-02-09 20:46:38 -05:00
parent 970fd8405b
commit 09eb035337
15 changed files with 525 additions and 482 deletions

View File

@@ -10,8 +10,8 @@ class Action {
}
async perform() {
const releaseResponse = await this.createOrUpdateRelease();
const releaseId = releaseResponse.id;
const uploadUrl = releaseResponse.upload_url;
const releaseId = releaseResponse.data.id;
const uploadUrl = releaseResponse.data.upload_url;
const artifacts = this.inputs.artifacts;
if (artifacts.length > 0) {
await this.uploader.uploadArtifacts(artifacts, releaseId, uploadUrl);
@@ -37,8 +37,7 @@ class Action {
}
}
async updateRelease(id) {
const response = await this.releases.update(id, this.inputs.tag, this.inputs.updatedReleaseBody, this.inputs.commit, this.inputs.draft, this.inputs.updatedReleaseName, this.inputs.prerelease);
return response.data;
return await this.releases.update(id, this.inputs.tag, this.inputs.updatedReleaseBody, this.inputs.commit, this.inputs.draft, this.inputs.updatedReleaseName, this.inputs.prerelease);
}
static noPublishedRelease(error) {
const errorMessage = new ErrorMessage_1.ErrorMessage(error);
@@ -62,7 +61,7 @@ class Action {
}
async createRelease() {
const response = await this.releases.create(this.inputs.tag, this.inputs.createdReleaseBody, this.inputs.commit, this.inputs.draft, this.inputs.createdReleaseName, this.inputs.prerelease);
return response.data;
return response;
}
}
exports.Action = Action;

View File

@@ -14,7 +14,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};

View File

@@ -14,7 +14,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
@@ -87,6 +87,13 @@ class CoreInputs {
const draft = core.getInput('draft');
return draft == 'true';
}
get owner() {
let owner = core.getInput('owner');
if (owner) {
return owner;
}
return this.context.repo.owner;
}
get prerelease() {
const preRelease = core.getInput('prerelease');
return preRelease == 'true';
@@ -95,6 +102,13 @@ class CoreInputs {
const replaces = core.getInput('replacesArtifacts');
return replaces == 'true';
}
get repo() {
let repo = core.getInput('repo');
if (repo) {
return repo;
}
return this.context.repo.repo;
}
get tag() {
const tag = core.getInput('tag');
if (tag) {

View File

@@ -14,7 +14,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
@@ -43,7 +43,7 @@ function createAction() {
const git = github.getOctokit(token);
const globber = new ArtifactGlobber_1.FileArtifactGlobber();
const inputs = new Inputs_1.CoreInputs(globber, context);
const releases = new Releases_1.GithubReleases(context, git);
const releases = new Releases_1.GithubReleases(inputs, git);
const uploader = new ArtifactUploader_1.GithubArtifactUploader(releases, inputs.replacesArtifacts);
return new Action_1.Action(inputs, releases, uploader);
}

View File

@@ -2,8 +2,8 @@
Object.defineProperty(exports, "__esModule", { value: true });
exports.GithubReleases = void 0;
class GithubReleases {
constructor(context, git) {
this.context = context;
constructor(inputs, git) {
this.inputs = inputs;
this.git = git;
}
async create(tag, body, commitHash, draft, name, prerelease) {
@@ -12,9 +12,9 @@ class GithubReleases {
body: body,
name: name,
draft: draft,
owner: this.context.repo.owner,
owner: this.inputs.owner,
prerelease: prerelease,
repo: this.context.repo.repo,
repo: this.inputs.repo,
target_commitish: commitHash,
tag_name: tag
});
@@ -22,30 +22,30 @@ class GithubReleases {
async deleteArtifact(assetId) {
return this.git.repos.deleteReleaseAsset({
asset_id: assetId,
owner: this.context.repo.owner,
repo: this.context.repo.repo
});
}
async listArtifactsForRelease(releaseId) {
return this.git.repos.listReleaseAssets({
owner: this.context.repo.owner,
release_id: releaseId,
repo: this.context.repo.repo
});
}
async listReleases() {
return this.git.repos.listReleases({
owner: this.context.repo.owner,
repo: this.context.repo.repo
owner: this.inputs.owner,
repo: this.inputs.repo
});
}
async getByTag(tag) {
return this.git.repos.getReleaseByTag({
owner: this.context.repo.owner,
repo: this.context.repo.repo,
owner: this.inputs.owner,
repo: this.inputs.repo,
tag: tag
});
}
async listArtifactsForRelease(releaseId) {
return this.git.repos.listReleaseAssets({
owner: this.inputs.owner,
release_id: releaseId,
repo: this.inputs.repo
});
}
async listReleases() {
return this.git.repos.listReleases({
owner: this.inputs.owner,
repo: this.inputs.repo
});
}
async update(id, tag, body, commitHash, draft, name, prerelease) {
// noinspection TypeScriptValidateJSTypes
return this.git.repos.updateRelease({
@@ -53,9 +53,9 @@ class GithubReleases {
body: body,
name: name,
draft: draft,
owner: this.context.repo.owner,
owner: this.inputs.owner,
prerelease: prerelease,
repo: this.context.repo.repo,
repo: this.inputs.repo,
target_commitish: commitHash,
tag_name: tag
});
@@ -69,9 +69,9 @@ class GithubReleases {
},
data: file,
name: name,
owner: this.context.repo.owner,
owner: this.inputs.owner,
release_id: releaseId,
repo: this.context.repo.repo
repo: this.inputs.repo
});
}
}