Add prerelease

This commit is contained in:
Nick Cipollo
2019-12-13 16:05:44 -05:00
parent 5ce722314c
commit cb3417d207
10 changed files with 57 additions and 20 deletions

View File

@@ -24,7 +24,7 @@ export class Action {
}
private async createOrUpdateRelease(): Promise<string> {
if(this.inputs.allowUpdates) {
if (this.inputs.allowUpdates) {
try {
const getResponse = await this.releases.getByTag(this.inputs.tag)
return await this.updateRelease(getResponse.data.id)
@@ -46,13 +46,14 @@ export class Action {
this.inputs.body,
this.inputs.commit,
this.inputs.draft,
this.inputs.name
this.inputs.name,
this.inputs.prerelease
)
return response.data.upload_url
}
private noRelease(error:any): boolean {
private noRelease(error: any): boolean {
const errorMessage = new ErrorMessage(error)
return errorMessage.status == 404
}
@@ -64,7 +65,8 @@ export class Action {
this.inputs.body,
this.inputs.commit,
this.inputs.draft,
this.inputs.name
this.inputs.name,
this.inputs.prerelease
)
return response.data.upload_url

View File

@@ -11,6 +11,7 @@ export interface Inputs {
readonly commit: string
readonly draft: boolean
readonly name: string
readonly prerelease: boolean
readonly tag: string
readonly token: string
}
@@ -77,6 +78,11 @@ export class CoreInputs implements Inputs {
return this.tag
}
get prerelease(): boolean {
const draft = core.getInput('prerelease')
return draft == 'true'
}
get tag(): string {
const tag = core.getInput('tag')
if (tag) {

View File

@@ -8,7 +8,8 @@ export interface Releases {
body?: string,
commitHash?: string,
draft?: boolean,
name?: string
name?: string,
prerelease?: boolean
): Promise<Response<ReposCreateReleaseResponse>>
getByTag(tag: string): Promise<Response<ReposGetReleaseByTagResponse>>
@@ -19,7 +20,8 @@ export interface Releases {
body?: string,
commitHash?: string,
draft?: boolean,
name?: string
name?: string,
prerelease?: boolean
): Promise<Response<ReposCreateReleaseResponse>>
uploadArtifact(
@@ -45,13 +47,15 @@ export class GithubReleases implements Releases {
body?: string,
commitHash?: string,
draft?: boolean,
name?: string
name?: string,
prerelease?: boolean
): Promise<Response<ReposCreateReleaseResponse>> {
return this.git.repos.createRelease({
body: body,
name: name,
draft: draft,
owner: this.context.repo.owner,
prerelease: prerelease,
repo: this.context.repo.repo,
target_commitish: commitHash,
tag_name: tag
@@ -72,7 +76,8 @@ export class GithubReleases implements Releases {
body?: string,
commitHash?: string,
draft?: boolean,
name?: string
name?: string,
prerelease?: boolean
): Promise<Response<ReposCreateReleaseResponse>> {
return this.git.repos.updateRelease({
release_id: id,
@@ -80,6 +85,7 @@ export class GithubReleases implements Releases {
name: name,
draft: draft,
owner: this.context.repo.owner,
prerelease: prerelease,
repo: this.context.repo.repo,
target_commitish: commitHash,
tag_name: tag