From d6a515db6f3be4807fb19ea3d306820968ce7227 Mon Sep 17 00:00:00 2001 From: Johan Haals Date: Wed, 3 Feb 2021 10:14:46 +0100 Subject: [PATCH 1/2] Scaffolder: ensure cookiecutter intermediateDir This fixes template issues on Linux. --- .../src/scaffolder/stages/templater/cookiecutter.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/scaffolder-backend/src/scaffolder/stages/templater/cookiecutter.ts b/plugins/scaffolder-backend/src/scaffolder/stages/templater/cookiecutter.ts index 09d4faa37c..9568af2a15 100644 --- a/plugins/scaffolder-backend/src/scaffolder/stages/templater/cookiecutter.ts +++ b/plugins/scaffolder-backend/src/scaffolder/stages/templater/cookiecutter.ts @@ -44,6 +44,7 @@ export class CookieCutter implements TemplaterBase { }: TemplaterRunOptions): Promise { const templateDir = path.join(workspacePath, 'template'); const intermediateDir = path.join(workspacePath, 'intermediate'); + await fs.ensureDir(intermediateDir); const resultDir = path.join(workspacePath, 'result'); // First lets grab the default cookiecutter.json file From b359ce6a1299e96268db4e4a0a7c4a4897e2869f Mon Sep 17 00:00:00 2001 From: Johan Haals Date: Wed, 3 Feb 2021 10:23:12 +0100 Subject: [PATCH 2/2] Expect intermediate to be created --- .../src/scaffolder/stages/templater/cookiecutter.test.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/scaffolder-backend/src/scaffolder/stages/templater/cookiecutter.test.ts b/plugins/scaffolder-backend/src/scaffolder/stages/templater/cookiecutter.test.ts index 1a3ad76499..77368fc1ab 100644 --- a/plugins/scaffolder-backend/src/scaffolder/stages/templater/cookiecutter.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/stages/templater/cookiecutter.test.ts @@ -56,6 +56,7 @@ describe('CookieCutter Templater', () => { dockerClient: mockDocker, }); + expect(fs.ensureDir).toBeCalledWith(path.join('tempdir', 'intermediate')); expect(fs.writeJson).toBeCalledWith( path.join('tempdir', 'template', 'cookiecutter.json'), expect.objectContaining(values),