fix(manager/copier): process update templates outside repository root (#30708)

This commit is contained in:
Philipp Jaschke 2024-08-15 12:59:43 +02:00 committed by GitHub
parent bb9bbcb3c3
commit 0803b46d23
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 26 additions and 1 deletions

View file

@ -118,6 +118,29 @@ describe('modules/manager/copier/artifacts', () => {
expect(execSnapshots).toMatchObject([
{
cmd: 'copier update --skip-answered --defaults --answers-file .copier-answers.yml --vcs-ref 1.1.0',
options: {
cwd: '/tmp/github/some/repo',
},
},
]);
});
it('invokes copier update with nested destination and answer file', async () => {
const execSnapshots = mockExecAll();
await updateArtifacts({
packageFileName: 'apps/my-app/.copier-answers.yml',
updatedDeps: upgrades,
newPackageFileContent: '',
config: {},
});
expect(execSnapshots).toMatchObject([
{
cmd: 'copier update --skip-answered --defaults --answers-file .copier-answers.yml --vcs-ref 1.1.0',
options: {
cwd: '/tmp/github/some/repo/apps/my-app',
},
},
]);
});

View file

@ -1,4 +1,5 @@
import { quote } from 'shlex';
import upath from 'upath';
import { GlobalConfig } from '../../../config/global';
import { logger } from '../../../logger';
import { exec } from '../../../util/exec';
@ -28,7 +29,7 @@ function buildCommand(
}
command.push(
'--answers-file',
quote(packageFileName),
quote(upath.basename(packageFileName)),
'--vcs-ref',
quote(newVersion),
);
@ -72,6 +73,7 @@ export async function updateArtifacts({
const command = buildCommand(config, packageFileName, newVersion);
const execOptions: ExecOptions = {
cwdFile: packageFileName,
docker: {},
userConfiguredEnv: config.env,
toolConstraints: [