mirror of
https://github.com/renovatebot/renovate.git
synced 2025-01-15 09:06:25 +00:00
30 lines
1,009 B
TypeScript
30 lines
1,009 B
TypeScript
import { logger } from '../../logger';
|
|
import { getNewFrom } from '../dockerfile/update';
|
|
import { UpdateDependencyConfig } from '../common';
|
|
|
|
export function updateDependency({
|
|
fileContent,
|
|
upgrade,
|
|
}: UpdateDependencyConfig): string | null {
|
|
try {
|
|
const newFrom = getNewFrom(upgrade);
|
|
logger.debug(`github-actions.updateDependency(): ${newFrom}`);
|
|
const lines = fileContent.split('\n');
|
|
const lineToChange = lines[upgrade.managerData.lineNumber];
|
|
const imageLine = /^(.+docker:\/\/)[^"]+("\s*)?$/;
|
|
if (!imageLine.test(lineToChange)) {
|
|
logger.debug('No image line found');
|
|
return null;
|
|
}
|
|
const newLine = lineToChange.replace(imageLine, `$1${newFrom}$2`);
|
|
if (newLine === lineToChange) {
|
|
logger.debug('No changes necessary');
|
|
return fileContent;
|
|
}
|
|
lines[upgrade.managerData.lineNumber] = newLine;
|
|
return lines.join('\n');
|
|
} catch (err) {
|
|
logger.info({ err }, 'Error setting new github-actions value');
|
|
return null;
|
|
}
|
|
}
|