Files
renovate/lib/manager/github-actions/extract.ts
T
2020-02-18 08:34:10 +01:00

38 lines
1.2 KiB
TypeScript

import { logger } from '../../logger';
import { getDep } from '../dockerfile/extract';
import { PackageFile, PackageDependency } from '../common';
import * as dockerVersioning from '../../versioning/docker';
export function extractPackageFile(content: string): PackageFile | null {
logger.debug('github-actions.extractPackageFile()');
const deps: PackageDependency[] = [];
let lineNumber = 0;
for (const line of content.split('\n')) {
// old github actions syntax will be deprecated on September 30, 2019
// after that, the first line can be removed
const match =
/^\s+uses = "docker:\/\/([^"]+)"\s*$/.exec(line) ||
/^\s+uses: docker:\/\/([^"]+)\s*$/.exec(line);
if (match) {
const [, currentFrom] = match;
const dep = getDep(currentFrom);
logger.debug(
{
depName: dep.depName,
currentValue: dep.currentValue,
currentDigest: dep.currentDigest,
},
'Docker image inside GitHub Actions'
);
dep.managerData = { lineNumber };
dep.versioning = dockerVersioning.id;
deps.push(dep);
}
lineNumber += 1;
}
if (!deps.length) {
return null;
}
return { deps };
}