Remove promoteRelease and use updateRelease for all purposes

Signed-off-by: Erik Engervall <erik.engervall@gmail.com>
This commit is contained in:
Erik Engervall
2021-04-30 11:28:10 +02:00
parent 38189b9777
commit 1210122076
5 changed files with 13 additions and 56 deletions
@@ -55,7 +55,6 @@ describe('GitReleaseApiClient', () => {
},
"host": "github.com",
"merge": [Function],
"promoteRelease": [Function],
"updateRef": [Function],
"updateRelease": [Function],
}
@@ -401,8 +401,9 @@ export class GitReleaseApiClient implements GitReleaseApi {
owner,
repo,
releaseId,
body,
tagName,
body,
prerelease,
}) => {
const { octokit } = await this.getOctokit();
const { data: updatedRelease } = await octokit.repos.updateRelease({
@@ -411,6 +412,7 @@ export class GitReleaseApiClient implements GitReleaseApi {
release_id: releaseId,
tag_name: tagName,
body,
prerelease,
});
return {
@@ -420,28 +422,6 @@ export class GitReleaseApiClient implements GitReleaseApi {
};
};
promoteRelease: GitReleaseApi['promoteRelease'] = async ({
owner,
repo,
releaseId,
tagName,
}) => {
const { octokit } = await this.getOctokit();
const { data: promotedRelease } = await octokit.repos.updateRelease({
owner,
repo,
release_id: releaseId,
tag_name: tagName,
prerelease: false,
});
return {
name: promotedRelease.name,
tagName: promotedRelease.tag_name,
htmlUrl: promotedRelease.html_url,
};
};
getAllTags: GitReleaseApi['getAllTags'] = async ({ owner, repo }) => {
const { octokit } = await this.getOctokit();
@@ -549,6 +529,7 @@ export interface GitReleaseApi {
firstParentSha?: string;
}[]
>;
getLatestRelease: (
args: OwnerRepo,
) => Promise<{
@@ -559,6 +540,7 @@ export interface GitReleaseApi {
htmlUrl: string;
body?: string | null;
} | null>;
getRepository: (
args: OwnerRepo,
) => Promise<{
@@ -685,21 +667,11 @@ export interface GitReleaseApi {
}>;
updateRelease: (
args: {
releaseId: number;
body: string;
tagName: string;
} & OwnerRepo,
) => Promise<{
name: string | null;
tagName: string;
htmlUrl: string;
}>;
promoteRelease: (
args: {
releaseId: number;
tagName: string;
body?: string;
prerelease?: boolean;
} & OwnerRepo,
) => Promise<{
name: string | null;
@@ -708,7 +680,7 @@ export interface GitReleaseApi {
}>;
/**
* Used for the Stats feature
* Get all tags in descending order
*/
getAllTags: (
args: OwnerRepo,
@@ -720,9 +692,6 @@ export interface GitReleaseApi {
}>
>;
/**
* Used for the Stats feature
*/
getAllReleases: (
args: OwnerRepo,
) => Promise<
@@ -735,9 +704,6 @@ export interface GitReleaseApi {
}>
>;
/**
* Used for the Stats feature
*/
getSingleTag: (
args: {
tagSha: string;
@@ -783,9 +749,6 @@ export type CreateTagObjectResult = UnboxReturnedPromise<
export type UpdateReleaseResult = UnboxReturnedPromise<
GitReleaseApi['updateRelease']
>;
export type PromoteReleaseResult = UnboxReturnedPromise<
GitReleaseApi['promoteRelease']
>;
export type GetAllTagsResult = UnboxReturnedPromise<
GitReleaseApi['getAllTags']
>;
@@ -88,9 +88,9 @@ describe('usePromoteRc', () => {
"secondaryMessage": "with ref \\"mock_createRef_ref\\"",
},
Object {
"link": "mock_release_html_url",
"message": "Promoted \\"mock_release_name\\"",
"secondaryMessage": "from \\"rc-2020.01.01_1\\" to \\"mock_release_tag_name\\"",
"link": "mock_update_release_html_url",
"message": "Promoted \\"mock_update_release_name\\"",
"secondaryMessage": "from \\"rc-2020.01.01_1\\" to \\"mock_update_release_tag_name\\"",
},
Object {
"icon": "success",
@@ -141,11 +141,12 @@ export function usePromoteRc({
if (!createRcRes.value) return undefined;
const promotedRelease = await pluginApiClient
.promoteRelease({
.updateRelease({
owner: project.owner,
repo: project.repo,
releaseId: rcRelease.id,
tagName: releaseVersion,
prerelease: false,
})
.catch(asyncCatcher);
@@ -271,12 +271,6 @@ export const mockApiClient: GitReleaseApi = {
htmlUrl: 'mock_update_release_html_url',
})),
promoteRelease: jest.fn(async () => ({
name: 'mock_release_name',
tagName: 'mock_release_tag_name',
htmlUrl: 'mock_release_html_url',
})),
getAllTags: jest.fn(async () => [
{
tagName: MOCK_RELEASE_CANDIDATE_TAG_NAME_CALVER,