From 0d5d358e53fc0d65b91311023a197d54a4315c45 Mon Sep 17 00:00:00 2001 From: sajid-khan-js <59746379+sajid-khan-js@users.noreply.github.com> Date: Wed, 24 Feb 2021 11:55:51 +0000 Subject: [PATCH] feat(terragrunt-version): implement tgenv version file updates (#8816) --- .../__snapshots__/extract.spec.ts.snap | 11 +++++++++++ lib/manager/terragrunt-version/extract.spec.ts | 11 +++++++++++ lib/manager/terragrunt-version/extract.ts | 13 +++++++++++++ lib/manager/terragrunt-version/index.ts | 9 +++++++++ lib/manager/terragrunt-version/readme.md | 2 ++ 5 files changed, 46 insertions(+) create mode 100644 lib/manager/terragrunt-version/__snapshots__/extract.spec.ts.snap create mode 100644 lib/manager/terragrunt-version/extract.spec.ts create mode 100644 lib/manager/terragrunt-version/extract.ts create mode 100644 lib/manager/terragrunt-version/index.ts create mode 100644 lib/manager/terragrunt-version/readme.md diff --git a/lib/manager/terragrunt-version/__snapshots__/extract.spec.ts.snap b/lib/manager/terragrunt-version/__snapshots__/extract.spec.ts.snap new file mode 100644 index 0000000000..ccbcee586c --- /dev/null +++ b/lib/manager/terragrunt-version/__snapshots__/extract.spec.ts.snap @@ -0,0 +1,11 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`manager/terragrunt-version/extract extractPackageFile() returns a result 1`] = ` +Array [ + Object { + "currentValue": "12.0.0", + "datasource": "github-releases", + "depName": "gruntwork-io/terragrunt", + }, +] +`; diff --git a/lib/manager/terragrunt-version/extract.spec.ts b/lib/manager/terragrunt-version/extract.spec.ts new file mode 100644 index 0000000000..d442445018 --- /dev/null +++ b/lib/manager/terragrunt-version/extract.spec.ts @@ -0,0 +1,11 @@ +import { getName } from '../../../test/util'; +import { extractPackageFile } from './extract'; + +describe(getName(__filename), () => { + describe('extractPackageFile()', () => { + it('returns a result', () => { + const res = extractPackageFile('12.0.0\n'); + expect(res.deps).toMatchSnapshot(); + }); + }); +}); diff --git a/lib/manager/terragrunt-version/extract.ts b/lib/manager/terragrunt-version/extract.ts new file mode 100644 index 0000000000..64762ab45c --- /dev/null +++ b/lib/manager/terragrunt-version/extract.ts @@ -0,0 +1,13 @@ +import * as datasourceGitHubRelease from '../../datasource/github-releases'; +import { logger } from '../../logger'; +import { PackageDependency, PackageFile } from '../common'; + +export function extractPackageFile(content: string): PackageFile { + logger.trace('terragrunt-version.extractPackageFile()'); + const dep: PackageDependency = { + depName: 'gruntwork-io/terragrunt', + currentValue: content.trim(), + datasource: datasourceGitHubRelease.id, + }; + return { deps: [dep] }; +} diff --git a/lib/manager/terragrunt-version/index.ts b/lib/manager/terragrunt-version/index.ts new file mode 100644 index 0000000000..fe24c1f17b --- /dev/null +++ b/lib/manager/terragrunt-version/index.ts @@ -0,0 +1,9 @@ +import * as hashicorpVersioning from '../../versioning/hashicorp'; + +export { extractPackageFile } from './extract'; + +export const defaultConfig = { + fileMatch: ['(^|/)\\.terragrunt-version$'], + versioning: hashicorpVersioning.id, + extractVersion: '^v(?<version>.+)$', +}; diff --git a/lib/manager/terragrunt-version/readme.md b/lib/manager/terragrunt-version/readme.md new file mode 100644 index 0000000000..5a0beb6aa0 --- /dev/null +++ b/lib/manager/terragrunt-version/readme.md @@ -0,0 +1,2 @@ +This will maintain `.terragrunt-version` files. +Available versions will be determined from `gruntwork-io/terragrunt` GitHub releases. -- GitLab