Skip to content
Snippets Groups Projects
Unverified Commit 1d0bfada authored by Sebastian Poxhofer's avatar Sebastian Poxhofer Committed by GitHub
Browse files

fix(manager/terraform): add required_version to preflight content check (#12295)

parent d2063175
No related branches found
No related tags found
No related merge requests found
terraform {
required_version = "1.0.0"
}
......@@ -390,6 +390,21 @@ Object {
}
`;
exports[`manager/terraform/extract extractPackageFile() test terraform block with only requirement_terraform_version 1`] = `
Object {
"deps": Array [
Object {
"currentValue": "1.0.0",
"datasource": "github-tags",
"depName": "hashicorp/terraform",
"depType": "required_version",
"extractVersion": "v(?<version>.*)$",
"lineNumber": 1,
},
],
}
`;
exports[`manager/terraform/extract extractPackageFile() update lockfile constraints with range strategy update-lockfile 1`] = `
Object {
"deps": Array [
......
......@@ -12,6 +12,7 @@ const tf2 = `module "relative" {
const helm = loadFixture('helm.tf');
const lockedVersion = loadFixture('lockedVersion.tf');
const lockedVersionLockfile = loadFixture('rangeStrategy.hcl');
const terraformBlock = loadFixture('terraformBlock.tf');
const adminConfig: RepoGlobalConfig = {
// `join` fixes Windows CI
......@@ -62,5 +63,16 @@ describe('manager/terraform/extract', () => {
expect(res.deps).toHaveLength(3);
expect(res.deps.filter((dep) => dep.skipReason)).toHaveLength(0);
});
it('test terraform block with only requirement_terraform_version', async () => {
const res = await extractPackageFile(
terraformBlock,
'terraformBlock.tf',
{}
);
expect(res.deps).toHaveLength(1);
expect(res.deps.filter((dep) => dep.skipReason)).toHaveLength(0);
expect(res).toMatchSnapshot();
});
});
});
......@@ -36,6 +36,7 @@ const contentCheckList = [
'required_providers ',
' "helm_release" ',
' "docker_image" ',
'required_version',
];
export async function extractPackageFile(
......@@ -45,6 +46,10 @@ export async function extractPackageFile(
): Promise<PackageFile | null> {
logger.trace({ content }, 'terraform.extractPackageFile()');
if (!checkFileContainsDependency(content, contentCheckList)) {
logger.trace(
{ fileName },
'preflight content check has not found any relevant content'
);
return null;
}
let deps: PackageDependency<TerraformManagerData>[] = [];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment