diff --git a/docs/usage/self-hosted-configuration.md b/docs/usage/self-hosted-configuration.md index f3567222b3f933..58a81776bb32bb 100644 --- a/docs/usage/self-hosted-configuration.md +++ b/docs/usage/self-hosted-configuration.md @@ -164,17 +164,6 @@ You would use put this in your configuration file: If you pulled a new `node` image, the final image would be `ghcr.io/renovatebot/node` instead of `docker.io/renovate/node`. -## dockerMapDotfiles - -This is used if you want to map "dotfiles" from your host computer home directory to containers that Renovate creates, e.g. for updating lock files. -Currently applicable to `.npmrc` only. - -```json -{ - "dockerMapDotfiles": true -} -``` - ## dockerUser Override default user and group used by Docker-based binaries. diff --git a/lib/config/definitions.ts b/lib/config/definitions.ts index bc4584035147ff..54f8f9eb9a71df 100644 --- a/lib/config/definitions.ts +++ b/lib/config/definitions.ts @@ -254,14 +254,6 @@ const options: RenovateOptions[] = [ type: 'object', default: false, }, - { - name: 'dockerMapDotfiles', - description: - 'Map relevant home directory dotfiles into containers when binarySource=docker.', - admin: true, - type: 'boolean', - default: false, - }, { name: 'dockerChildPrefix', description: diff --git a/lib/manager/npm/post-update/__snapshots__/lerna.spec.ts.snap b/lib/manager/npm/post-update/__snapshots__/lerna.spec.ts.snap index e8f5d06c35c0a7..4dc615e84774c2 100644 --- a/lib/manager/npm/post-update/__snapshots__/lerna.spec.ts.snap +++ b/lib/manager/npm/post-update/__snapshots__/lerna.spec.ts.snap @@ -236,65 +236,6 @@ Array [ ] `; -exports[`manager/npm/post-update/lerna generateLockFiles() maps dot files 1`] = ` -Array [ - Object { - "cmd": "lerna info || echo \\"Ignoring lerna info failure\\"", - "options": Object { - "cwd": "some-dir", - "encoding": "utf-8", - "env": Object { - "HOME": "/home/user", - "HTTPS_PROXY": "https://example.com", - "HTTP_PROXY": "http://example.com", - "LANG": "en_US.UTF-8", - "LC_ALL": "en_US", - "NO_PROXY": "localhost", - "PATH": "/tmp/path", - }, - "maxBuffer": 10485760, - "timeout": 900000, - }, - }, - Object { - "cmd": "npm install --ignore-scripts --no-audit --package-lock-only", - "options": Object { - "cwd": "some-dir", - "encoding": "utf-8", - "env": Object { - "HOME": "/home/user", - "HTTPS_PROXY": "https://example.com", - "HTTP_PROXY": "http://example.com", - "LANG": "en_US.UTF-8", - "LC_ALL": "en_US", - "NO_PROXY": "localhost", - "PATH": "/tmp/path", - }, - "maxBuffer": 10485760, - "timeout": 900000, - }, - }, - Object { - "cmd": "lerna bootstrap --no-ci --ignore-scripts -- --ignore-scripts --no-audit --package-lock-only", - "options": Object { - "cwd": "some-dir", - "encoding": "utf-8", - "env": Object { - "HOME": "/home/user", - "HTTPS_PROXY": "https://example.com", - "HTTP_PROXY": "http://example.com", - "LANG": "en_US.UTF-8", - "LC_ALL": "en_US", - "NO_PROXY": "localhost", - "PATH": "/tmp/path", - }, - "maxBuffer": 10485760, - "timeout": 900000, - }, - }, -] -`; - exports[`manager/npm/post-update/lerna generateLockFiles() performs full npm install 1`] = ` Array [ Object { diff --git a/lib/manager/npm/post-update/lerna.spec.ts b/lib/manager/npm/post-update/lerna.spec.ts index 7ba6d474d67c37..8e771c6eab2bcc 100644 --- a/lib/manager/npm/post-update/lerna.spec.ts +++ b/lib/manager/npm/post-update/lerna.spec.ts @@ -93,27 +93,13 @@ describe(getName(__filename), () => { expect(res.error).toBe(false); expect(execSnapshots).toMatchSnapshot(); }); - it('maps dot files', async () => { - const execSnapshots = mockExecAll(exec); - const res = await lernaHelper.generateLockFiles( - lernaPkgFile('npm'), - 'some-dir', - { - dockerMapDotfiles: true, - constraints: { npm: '^6.0.0' }, - }, - {} - ); - expect(res.error).toBe(false); - expect(execSnapshots).toMatchSnapshot(); - }); it('allows scripts for trust level high', async () => { const execSnapshots = mockExecAll(exec); setAdminConfig({ allowScripts: true }); const res = await lernaHelper.generateLockFiles( lernaPkgFile('npm'), 'some-dir', - {}, + { constraints: { npm: '^6.0.0' } }, {} ); expect(res.error).toBe(false); diff --git a/lib/manager/npm/post-update/lerna.ts b/lib/manager/npm/post-update/lerna.ts index 89946ac87a974a..e66c779dedba42 100644 --- a/lib/manager/npm/post-update/lerna.ts +++ b/lib/manager/npm/post-update/lerna.ts @@ -1,6 +1,5 @@ import semver, { validRange } from 'semver'; import { quote } from 'shlex'; -import { join } from 'upath'; import { getAdminConfig } from '../../../config/admin'; import { TEMPORARY_ERROR } from '../../../constants/error-messages'; import { logger } from '../../../logger'; @@ -97,12 +96,6 @@ export async function generateLockFiles( execOptions.extraEnv.NPM_AUTH = env.NPM_AUTH; execOptions.extraEnv.NPM_EMAIL = env.NPM_EMAIL; } - if (config.dockerMapDotfiles) { - const homeDir = - process.env.HOME || process.env.HOMEPATH || process.env.USERPROFILE; - const homeNpmrc = join(homeDir, '.npmrc'); - execOptions.docker.volumes = [[homeNpmrc, '/home/ubuntu/.npmrc']]; - } const lernaVersion = getLernaVersion(lernaPackageFile); logger.debug('Using lerna version ' + lernaVersion); preCommands.push(`npm i -g lerna@${quote(lernaVersion)}`); diff --git a/lib/manager/npm/post-update/npm.spec.ts b/lib/manager/npm/post-update/npm.spec.ts index d17d200d5d37c3..08a02a81165659 100644 --- a/lib/manager/npm/post-update/npm.spec.ts +++ b/lib/manager/npm/post-update/npm.spec.ts @@ -27,7 +27,6 @@ describe('generateLockFile', () => { const execSnapshots = mockExecAll(exec); fs.readFile = jest.fn(() => 'package-lock-contents') as never; const artifactUpdateApproach = 'deep'; - const dockerMapDotfiles = true; const postUpdateOptions = ['npmDedupe']; const updates = [ { depName: 'some-dep', newVersion: '1.0.1', isLockfileUpdate: false }, @@ -36,7 +35,7 @@ describe('generateLockFile', () => { 'some-dir', {}, 'package-lock.json', - { dockerMapDotfiles, artifactUpdateApproach, postUpdateOptions }, + { artifactUpdateApproach, postUpdateOptions }, updates ); expect(fs.readFile).toHaveBeenCalledTimes(1); diff --git a/lib/manager/npm/post-update/npm.ts b/lib/manager/npm/post-update/npm.ts index 305bcfb09917f8..31e78e3c9595a7 100644 --- a/lib/manager/npm/post-update/npm.ts +++ b/lib/manager/npm/post-update/npm.ts @@ -75,12 +75,6 @@ export async function generateLockFile( execOptions.extraEnv.NPM_AUTH = env.NPM_AUTH; execOptions.extraEnv.NPM_EMAIL = env.NPM_EMAIL; } - if (config.dockerMapDotfiles) { - const homeDir = - process.env.HOME || process.env.HOMEPATH || process.env.USERPROFILE; - const homeNpmrc = join(homeDir, '.npmrc'); - execOptions.docker.volumes = [[homeNpmrc, '/home/ubuntu/.npmrc']]; - } if (!upgrades.every((upgrade) => upgrade.isLockfileUpdate)) { // This command updates the lock file based on package.json diff --git a/lib/manager/npm/post-update/pnpm.spec.ts b/lib/manager/npm/post-update/pnpm.spec.ts index f1146a0d018a09..195690f3d41cf7 100644 --- a/lib/manager/npm/post-update/pnpm.spec.ts +++ b/lib/manager/npm/post-update/pnpm.spec.ts @@ -24,7 +24,6 @@ describe('generateLockFile', () => { env.getChildProcessEnv.mockReturnValue(envMock.basic); }); it('generates lock files', async () => { - config.dockerMapDotfiles = true; const execSnapshots = mockExecAll(exec); fs.readFile = jest.fn(() => 'package-lock-contents') as never; const res = await pnpmHelper.generateLockFile('some-dir', {}, config); diff --git a/lib/manager/npm/post-update/pnpm.ts b/lib/manager/npm/post-update/pnpm.ts index b9842631f96f53..f6a802fc609a01 100644 --- a/lib/manager/npm/post-update/pnpm.ts +++ b/lib/manager/npm/post-update/pnpm.ts @@ -54,12 +54,6 @@ export async function generateLockFile( execOptions.extraEnv.NPM_AUTH = env.NPM_AUTH; execOptions.extraEnv.NPM_EMAIL = env.NPM_EMAIL; } - if (config.dockerMapDotfiles) { - const homeDir = - process.env.HOME || process.env.HOMEPATH || process.env.USERPROFILE; - const homeNpmrc = join(homeDir, '.npmrc'); - execOptions.docker.volumes = [[homeNpmrc, '/home/ubuntu/.npmrc']]; - } cmd = 'pnpm'; let args = 'install --recursive --lockfile-only'; if (!getAdminConfig().allowScripts || config.ignoreScripts) { diff --git a/lib/manager/npm/post-update/yarn.spec.ts b/lib/manager/npm/post-update/yarn.spec.ts index 0274362190686b..84173a6d8232a8 100644 --- a/lib/manager/npm/post-update/yarn.spec.ts +++ b/lib/manager/npm/post-update/yarn.spec.ts @@ -54,7 +54,6 @@ describe(getName(__filename), () => { ); }); const config = { - dockerMapDotfiles: true, constraints: { yarn: yarnCompatibility, }, @@ -140,7 +139,6 @@ describe(getName(__filename), () => { ); }); const config = { - dockerMapDotfiles: true, constraints: { yarn: yarnCompatibility, }, diff --git a/lib/manager/npm/post-update/yarn.ts b/lib/manager/npm/post-update/yarn.ts index be153bbee74291..d7756d9fc7b64f 100644 --- a/lib/manager/npm/post-update/yarn.ts +++ b/lib/manager/npm/post-update/yarn.ts @@ -125,12 +125,6 @@ export async function generateLockFile( execOptions.extraEnv.NPM_AUTH = env.NPM_AUTH; execOptions.extraEnv.NPM_EMAIL = env.NPM_EMAIL; } - if (config.dockerMapDotfiles) { - const homeDir = - process.env.HOME || process.env.HOMEPATH || process.env.USERPROFILE; - const homeNpmrc = join(homeDir, '.npmrc'); - execOptions.docker.volumes = [[homeNpmrc, '/home/ubuntu/.npmrc']]; - } // This command updates the lock file based on package.json commands.push(`yarn install ${cmdOptions}`.trim());