diff --git a/lib/manager/dockerfile/__snapshots__/extract.spec.ts.snap b/lib/manager/dockerfile/__snapshots__/extract.spec.ts.snap index 41e944805da20ca09c3ac4a31536daab07df9fd6..0abb636aec22c8339de66d2ae62b6753c208c947 100644 --- a/lib/manager/dockerfile/__snapshots__/extract.spec.ts.snap +++ b/lib/manager/dockerfile/__snapshots__/extract.spec.ts.snap @@ -346,6 +346,22 @@ Array [ ] `; +exports[`manager/dockerfile/extract extractPackageFile() handles prefixes 1`] = ` +Array [ + Object { + "autoReplaceStringTemplate": "{{lookupName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}", + "currentDigest": undefined, + "currentValue": "18.04", + "datasource": "docker", + "depName": "ubuntu", + "depType": "final", + "lookupName": "amd64/ubuntu", + "replaceString": "amd64/ubuntu:18.04", + "versioning": "ubuntu", + }, +] +`; + exports[`manager/dockerfile/extract extractPackageFile() handles quay hosts with port 1`] = ` Object { "autoReplaceStringTemplate": "{{lookupName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}", diff --git a/lib/manager/dockerfile/extract.spec.ts b/lib/manager/dockerfile/extract.spec.ts index 896745048dfb3bd4f93f2e61f7a7603a840e227b..1e64e85dd7fc8ab2f5f46cb58474facd798f2aa0 100644 --- a/lib/manager/dockerfile/extract.spec.ts +++ b/lib/manager/dockerfile/extract.spec.ts @@ -265,6 +265,20 @@ describe('manager/dockerfile/extract', () => { }, ]); }); + + it('handles prefixes', () => { + const res = extractPackageFile('FROM amd64/ubuntu:18.04\n').deps; + expect(res).toMatchSnapshot([ + { + currentValue: '18.04', + depName: 'ubuntu', + lookupName: 'amd64/ubuntu', + versioning: 'ubuntu', + autoReplaceStringTemplate: + '{{lookupName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}', + }, + ]); + }); }); describe('getDep()', () => { it('rejects null', () => { diff --git a/lib/manager/dockerfile/extract.ts b/lib/manager/dockerfile/extract.ts index a21cf10f9d16a8ab3315152f0ba0eea540df2047..4a0b6f11ec3f7583062cf8737e48a32d8646e2ac 100644 --- a/lib/manager/dockerfile/extract.ts +++ b/lib/manager/dockerfile/extract.ts @@ -58,6 +58,10 @@ export function getDep( if (dep.depName.startsWith(`${prefix}/`)) { dep.lookupName = dep.depName; dep.depName = dep.depName.replace(`${prefix}/`, ''); + if (specifyReplaceString) { + dep.autoReplaceStringTemplate = + '{{lookupName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}'; + } } } } diff --git a/lib/manager/droneci/__snapshots__/extract.spec.ts.snap b/lib/manager/droneci/__snapshots__/extract.spec.ts.snap index 0ed8a05d30d5d5a38da601986c6eeda3773e7e12..a7fe8577091daaea9398a0abdd2b679013ced919 100644 --- a/lib/manager/droneci/__snapshots__/extract.spec.ts.snap +++ b/lib/manager/droneci/__snapshots__/extract.spec.ts.snap @@ -12,7 +12,7 @@ Array [ "replaceString": "elixir:1.8.1-alpine", }, Object { - "autoReplaceStringTemplate": "{{depName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}", + "autoReplaceStringTemplate": "{{lookupName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}", "currentDigest": "sha256:36adc17e9cceab32179d3314da9cb9c737ffb11f0de4e688f407ad6d9ca32201", "currentValue": "10.0.0", "datasource": "docker",