From 1210122076ed55d5801af191f51be2976cb9a634 Mon Sep 17 00:00:00 2001 From: Erik Engervall Date: Fri, 30 Apr 2021 11:28:10 +0200 Subject: [PATCH] Remove promoteRelease and use updateRelease for all purposes Signed-off-by: Erik Engervall --- .../src/api/GitReleaseApiClient.test.ts | 1 - .../src/api/GitReleaseApiClient.ts | 53 +++---------------- .../PromoteRc/hooks/usePromoteRc.test.ts | 6 +-- .../features/PromoteRc/hooks/usePromoteRc.ts | 3 +- .../src/test-helpers/test-helpers.ts | 6 --- 5 files changed, 13 insertions(+), 56 deletions(-) diff --git a/plugins/git-release-manager/src/api/GitReleaseApiClient.test.ts b/plugins/git-release-manager/src/api/GitReleaseApiClient.test.ts index 3cd9728fdb..8977c36d4d 100644 --- a/plugins/git-release-manager/src/api/GitReleaseApiClient.test.ts +++ b/plugins/git-release-manager/src/api/GitReleaseApiClient.test.ts @@ -55,7 +55,6 @@ describe('GitReleaseApiClient', () => { }, "host": "github.com", "merge": [Function], - "promoteRelease": [Function], "updateRef": [Function], "updateRelease": [Function], } diff --git a/plugins/git-release-manager/src/api/GitReleaseApiClient.ts b/plugins/git-release-manager/src/api/GitReleaseApiClient.ts index 0e7a7bc35c..4828806c96 100644 --- a/plugins/git-release-manager/src/api/GitReleaseApiClient.ts +++ b/plugins/git-release-manager/src/api/GitReleaseApiClient.ts @@ -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'] >; diff --git a/plugins/git-release-manager/src/features/PromoteRc/hooks/usePromoteRc.test.ts b/plugins/git-release-manager/src/features/PromoteRc/hooks/usePromoteRc.test.ts index c1618027bb..84953d4059 100644 --- a/plugins/git-release-manager/src/features/PromoteRc/hooks/usePromoteRc.test.ts +++ b/plugins/git-release-manager/src/features/PromoteRc/hooks/usePromoteRc.test.ts @@ -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", diff --git a/plugins/git-release-manager/src/features/PromoteRc/hooks/usePromoteRc.ts b/plugins/git-release-manager/src/features/PromoteRc/hooks/usePromoteRc.ts index 4fe5255588..035ff10724 100644 --- a/plugins/git-release-manager/src/features/PromoteRc/hooks/usePromoteRc.ts +++ b/plugins/git-release-manager/src/features/PromoteRc/hooks/usePromoteRc.ts @@ -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); diff --git a/plugins/git-release-manager/src/test-helpers/test-helpers.ts b/plugins/git-release-manager/src/test-helpers/test-helpers.ts index eebf9b162b..add41f856c 100644 --- a/plugins/git-release-manager/src/test-helpers/test-helpers.ts +++ b/plugins/git-release-manager/src/test-helpers/test-helpers.ts @@ -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,