From 5eb8c9b9efcd28f44ba8bf7e8251ecb4c58efb9a Mon Sep 17 00:00:00 2001 From: Thibault Cohen Date: Fri, 8 Jan 2021 10:27:40 -0500 Subject: [PATCH 1/5] Fix gitlab scaffoler publisher --- .changeset/metal-mangos-jog.md | 5 +++++ .../src/scaffolder/stages/publish/gitlab.ts | 6 +++++- .../src/scaffolder/stages/publish/helpers.ts | 4 ++++ 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 .changeset/metal-mangos-jog.md diff --git a/.changeset/metal-mangos-jog.md b/.changeset/metal-mangos-jog.md new file mode 100644 index 0000000000..54bb43608d --- /dev/null +++ b/.changeset/metal-mangos-jog.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-backend': minor +--- + +Fix gitlab scaffoler publisher diff --git a/plugins/scaffolder-backend/src/scaffolder/stages/publish/gitlab.ts b/plugins/scaffolder-backend/src/scaffolder/stages/publish/gitlab.ts index 156a4a249c..6e4dc93023 100644 --- a/plugins/scaffolder-backend/src/scaffolder/stages/publish/gitlab.ts +++ b/plugins/scaffolder-backend/src/scaffolder/stages/publish/gitlab.ts @@ -20,6 +20,7 @@ import { JsonValue } from '@backstage/config'; import { initRepoAndPush } from './helpers'; import { RequiredTemplateValues } from '../templater'; + export class GitlabPublisher implements PublisherBase { private readonly client: Gitlab; private readonly token: string; @@ -52,7 +53,10 @@ export class GitlabPublisher implements PublisherBase { private async createRemote( values: RequiredTemplateValues & Record, ) { - const [owner, name] = values.storePath.split('/'); + const pathElements = values.storePath.split('/'); + const name = pathElements[pathElements.length - 1]; + pathElements.pop(); + const owner = pathElements.join('/'); let targetNamespace = ((await this.client.Namespaces.show(owner)) as { id: number; diff --git a/plugins/scaffolder-backend/src/scaffolder/stages/publish/helpers.ts b/plugins/scaffolder-backend/src/scaffolder/stages/publish/helpers.ts index ffefb88cf0..987c1a730c 100644 --- a/plugins/scaffolder-backend/src/scaffolder/stages/publish/helpers.ts +++ b/plugins/scaffolder-backend/src/scaffolder/stages/publish/helpers.ts @@ -45,6 +45,10 @@ export async function initRepoAndPush({ dot: true, }); + await git.init({ + dir, + }); + for (const filepath of paths) { await git.add({ dir, filepath }); } From b47838fdd4fab9bed824f9248ee70292184329a6 Mon Sep 17 00:00:00 2001 From: Thibault Cohen Date: Fri, 8 Jan 2021 10:33:49 -0500 Subject: [PATCH 2/5] Add test --- .../src/scaffolder/stages/publish/gitlab.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/scaffolder-backend/src/scaffolder/stages/publish/gitlab.test.ts b/plugins/scaffolder-backend/src/scaffolder/stages/publish/gitlab.test.ts index 2f33358829..4894d99291 100644 --- a/plugins/scaffolder-backend/src/scaffolder/stages/publish/gitlab.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/stages/publish/gitlab.test.ts @@ -51,7 +51,7 @@ describe('GitLab Publisher', () => { const result = await publisher.publish({ values: { isOrg: true, - storePath: 'blam/test', + storePath: 'bloum/blam/test', owner: 'bob', }, directory: '/tmp/test', @@ -82,7 +82,7 @@ describe('GitLab Publisher', () => { const result = await publisher.publish({ values: { - storePath: 'blam/test', + storePath: 'bloum/blam/test', owner: 'bob', }, directory: '/tmp/test', From 3c59b93bcf917b658d888887cc8a5422e48309b3 Mon Sep 17 00:00:00 2001 From: Thibault Cohen Date: Fri, 8 Jan 2021 10:38:46 -0500 Subject: [PATCH 3/5] Fix changeset --- .changeset/metal-mangos-jog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/metal-mangos-jog.md b/.changeset/metal-mangos-jog.md index 54bb43608d..07bbfa4e98 100644 --- a/.changeset/metal-mangos-jog.md +++ b/.changeset/metal-mangos-jog.md @@ -2,4 +2,4 @@ '@backstage/plugin-scaffolder-backend': minor --- -Fix gitlab scaffoler publisher +Fix gitlab scaffolder publisher From 3ffab83129255ced1c0b618e1b81e52f27c94598 Mon Sep 17 00:00:00 2001 From: Thibault Cohen Date: Fri, 8 Jan 2021 10:42:34 -0500 Subject: [PATCH 4/5] Fix prettier --- .../scaffolder-backend/src/scaffolder/stages/publish/gitlab.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/scaffolder-backend/src/scaffolder/stages/publish/gitlab.ts b/plugins/scaffolder-backend/src/scaffolder/stages/publish/gitlab.ts index 6e4dc93023..c933ffb48a 100644 --- a/plugins/scaffolder-backend/src/scaffolder/stages/publish/gitlab.ts +++ b/plugins/scaffolder-backend/src/scaffolder/stages/publish/gitlab.ts @@ -20,7 +20,6 @@ import { JsonValue } from '@backstage/config'; import { initRepoAndPush } from './helpers'; import { RequiredTemplateValues } from '../templater'; - export class GitlabPublisher implements PublisherBase { private readonly client: Gitlab; private readonly token: string; From dd766c482e8ab3b1ff17fed0972887933ce33cfe Mon Sep 17 00:00:00 2001 From: Thibault Cohen Date: Fri, 8 Jan 2021 13:23:45 -0500 Subject: [PATCH 5/5] Fix PR comment --- .../src/scaffolder/stages/publish/helpers.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/plugins/scaffolder-backend/src/scaffolder/stages/publish/helpers.ts b/plugins/scaffolder-backend/src/scaffolder/stages/publish/helpers.ts index 987c1a730c..ffefb88cf0 100644 --- a/plugins/scaffolder-backend/src/scaffolder/stages/publish/helpers.ts +++ b/plugins/scaffolder-backend/src/scaffolder/stages/publish/helpers.ts @@ -45,10 +45,6 @@ export async function initRepoAndPush({ dot: true, }); - await git.init({ - dir, - }); - for (const filepath of paths) { await git.add({ dir, filepath }); }