diff --git a/lib/datasource/terraform-module/__snapshots__/index.spec.ts.snap b/lib/datasource/terraform-module/__snapshots__/index.spec.ts.snap index 03209036e8454d36ec88f54d7ab42365e50431e6..e507610b57c95231b990d6162f40b6b4943b0e00 100644 --- a/lib/datasource/terraform-module/__snapshots__/index.spec.ts.snap +++ b/lib/datasource/terraform-module/__snapshots__/index.spec.ts.snap @@ -72,6 +72,7 @@ Object { "version": "0.3.10", }, Object { + "releaseTimestamp": "2018-09-20T11:25:22.957584Z", "version": "0.4.0", }, ], @@ -201,6 +202,7 @@ Object { "version": "0.3.10", }, Object { + "releaseTimestamp": "2018-09-20T11:25:22.957584Z", "version": "0.4.0", }, ], @@ -281,6 +283,7 @@ Object { "version": "0.3.10", }, Object { + "releaseTimestamp": "2018-09-20T11:25:22.957584Z", "version": "0.4.0", }, ], diff --git a/lib/datasource/terraform-module/index.ts b/lib/datasource/terraform-module/index.ts index d096500a603a5cd9e3936c7248c2ce0e0e931996..2ea7e3d3c0817935edf2aad241d8e7c58aecbfeb 100644 --- a/lib/datasource/terraform-module/index.ts +++ b/lib/datasource/terraform-module/index.ts @@ -43,6 +43,8 @@ interface TerraformRelease { provider: string; source?: string; versions: string[]; + version: string; + published_at: string; } export interface ServiceDiscoveryResult { @@ -132,6 +134,13 @@ export async function getReleases({ if (pkgUrl.startsWith('https://registry.terraform.io/')) { dep.homepage = `https://registry.terraform.io/modules/${repository}`; } + // set published date for latest release + const currentVersion = dep.releases.find((release) => { + return res.version === release.version; + }); + if (currentVersion) { + currentVersion.releaseTimestamp = res.published_at; + } logger.trace({ dep }, 'dep'); const cacheMinutes = 30; await packageCache.set(cacheNamespace, pkgUrl, dep, cacheMinutes); diff --git a/lib/datasource/terraform-provider/__snapshots__/index.spec.ts.snap b/lib/datasource/terraform-provider/__snapshots__/index.spec.ts.snap index 80bcd42a8b6d499abcd96a23d5a8849f47c3ee8d..ca752f706195917fdb08f19ae824f989f661d84b 100644 --- a/lib/datasource/terraform-provider/__snapshots__/index.spec.ts.snap +++ b/lib/datasource/terraform-provider/__snapshots__/index.spec.ts.snap @@ -252,6 +252,7 @@ Object { "version": "1.36.1", }, Object { + "releaseTimestamp": "2019-11-26T08:22:56Z", "version": "1.37.0", }, ], @@ -483,6 +484,7 @@ Object { "version": "1.36.1", }, Object { + "releaseTimestamp": "2019-11-26T08:22:56Z", "version": "1.37.0", }, ], diff --git a/lib/datasource/terraform-provider/index.ts b/lib/datasource/terraform-provider/index.ts index 0016d9b8c0acb4d36de6a10fbc591ec42a5e0755..26fc1aa7ba33f08e435421bf5bae1d32db98fe24 100644 --- a/lib/datasource/terraform-provider/index.ts +++ b/lib/datasource/terraform-provider/index.ts @@ -20,6 +20,8 @@ interface TerraformProvider { provider: string; source?: string; versions: string[]; + version: string; + published_at: string; } interface TerraformProviderReleaseBackend { @@ -54,6 +56,13 @@ async function queryRegistry( dep.releases = res.versions.map((version) => ({ version, })); + // set published date for latest release + const currentVersion = dep.releases.find((release) => { + return res.version === release.version; + }); + if (currentVersion) { + currentVersion.releaseTimestamp = res.published_at; + } dep.homepage = `${registryURL}/providers/${repository}`; logger.trace({ dep }, 'dep'); return dep;