From 18095d519527e53d36680ed229b0904fd6864e5e Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Fri, 28 Feb 2020 10:06:06 +0100 Subject: [PATCH] fix(ansible-galaxy): use autoReplace --- .../__snapshots__/extract.spec.ts.snap | 49 ----------------- lib/manager/ansible-galaxy/extract.ts | 1 + lib/manager/ansible-galaxy/index.ts | 7 +-- lib/manager/ansible-galaxy/update.spec.ts | 54 ------------------- lib/manager/ansible-galaxy/update.ts | 36 ------------- 5 files changed, 5 insertions(+), 142 deletions(-) delete mode 100644 lib/manager/ansible-galaxy/update.spec.ts delete mode 100644 lib/manager/ansible-galaxy/update.ts diff --git a/lib/manager/ansible-galaxy/__snapshots__/extract.spec.ts.snap b/lib/manager/ansible-galaxy/__snapshots__/extract.spec.ts.snap index 4eb8d550dc..f1eabf9bc6 100644 --- a/lib/manager/ansible-galaxy/__snapshots__/extract.spec.ts.snap +++ b/lib/manager/ansible-galaxy/__snapshots__/extract.spec.ts.snap @@ -7,26 +7,12 @@ Array [ "datasource": "ansible-galaxy", "depName": "yatesr.timezone", "lookupName": "yatesr.timezone", - "managerData": Object { - "lineNumber": 2, - "name": null, - "scm": null, - "src": "yatesr.timezone", - "version": "0.1.0", - }, }, Object { "currentValue": "0.1", "datasource": "git-tags", "depName": "mygroup/ansible-base", "lookupName": "git@gitlab.company.com:mygroup/ansible-base.git", - "managerData": Object { - "lineNumber": 5, - "name": null, - "scm": "git", - "src": "git@gitlab.company.com:mygroup/ansible-base.git", - "version": "0.1", - }, }, ] `; @@ -38,65 +24,30 @@ Array [ "datasource": "ansible-galaxy", "depName": "yatesr.timezone", "lookupName": "yatesr.timezone", - "managerData": Object { - "lineNumber": 2, - "name": null, - "scm": null, - "src": "yatesr.timezone", - "version": "0.1.0", - }, }, Object { "currentValue": "master", "datasource": "git-tags", "depName": "nginx_role", "lookupName": "https://github.com/bennojoy/nginx", - "managerData": Object { - "lineNumber": 5, - "name": "nginx_role", - "scm": null, - "src": "https://github.com/bennojoy/nginx", - "version": "master", - }, }, Object { "currentValue": "v1.4", "datasource": "git-tags", "depName": "willthames/git-ansible-galaxy", "lookupName": "http://bitbucket.org/willthames/git-ansible-galaxy", - "managerData": Object { - "lineNumber": 11, - "name": null, - "scm": null, - "src": "git+http://bitbucket.org/willthames/git-ansible-galaxy", - "version": "v1.4", - }, }, Object { "currentValue": "0.1", "datasource": "git-tags", "depName": "mygroup/ansible-base", "lookupName": "git@gitlab.company.com:mygroup/ansible-base.git", - "managerData": Object { - "lineNumber": 16, - "name": null, - "scm": "git", - "src": "git@gitlab.company.com:mygroup/ansible-base.git", - "version": "0.1", - }, }, Object { "currentValue": "0.14", "datasource": "git-tags", "depName": "mygroup/ansible-base", "lookupName": "git@gitlab.company.com:mygroup/ansible-base.git", - "managerData": Object { - "lineNumber": 24, - "name": null, - "scm": "git", - "src": "git@gitlab.company.com:mygroup/ansible-base.git", - "version": "0.14", - }, }, ] `; diff --git a/lib/manager/ansible-galaxy/extract.ts b/lib/manager/ansible-galaxy/extract.ts index 2cca76115e..020c9d1b87 100644 --- a/lib/manager/ansible-galaxy/extract.ts +++ b/lib/manager/ansible-galaxy/extract.ts @@ -113,6 +113,7 @@ export default function extractPackageFile( if (lineMatch) lineNumber += 1; } while (lineMatch); if (finalize(dep)) { + delete dep.managerData; deps.push(dep); } } diff --git a/lib/manager/ansible-galaxy/index.ts b/lib/manager/ansible-galaxy/index.ts index 3ba1b84067..912d1c9518 100644 --- a/lib/manager/ansible-galaxy/index.ts +++ b/lib/manager/ansible-galaxy/index.ts @@ -1,8 +1,9 @@ import extractPackageFile from './extract'; -import updateDependency from './update'; -export { extractPackageFile, updateDependency }; +export { extractPackageFile }; + +export const autoReplace = true; export const defaultConfig = { - fileMatch: ['(^|/)requirements.ya?ml$'], + fileMatch: ['(^|/)requirements\\.ya?ml$'], }; diff --git a/lib/manager/ansible-galaxy/update.spec.ts b/lib/manager/ansible-galaxy/update.spec.ts deleted file mode 100644 index 4997715152..0000000000 --- a/lib/manager/ansible-galaxy/update.spec.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { readFileSync } from 'fs'; -import updateDependency from './update'; - -const yamlFile1 = readFileSync( - 'lib/manager/ansible-galaxy/__fixtures__/requirements01.yml', - 'utf8' -); - -describe('manager/ansible/update', () => { - describe('updateDependency', () => { - it('updating value', () => { - const upgrade = { - managerData: { lineNumber: 2 }, - depName: 'yatesr.timezone', - newValue: '1.29.3', - }; - const res = updateDependency({ fileContent: yamlFile1, upgrade }); - expect(res).not.toEqual(yamlFile1); - expect(res.includes(upgrade.newValue)).toBe(true); - }); - it('replaces existing value from docker_service', () => { - const upgrade = { - managerData: { lineNumber: 11 }, - depName: 'willthames/git-ansible-galaxy', - newValue: 'v2.0', - }; - const res = updateDependency({ fileContent: yamlFile1, upgrade }); - expect(res).not.toEqual(yamlFile1); - expect(res.includes(upgrade.newValue)).toBe(true); - }); - it('returns same', () => { - const upgrade = { - managerData: { lineNumber: 16 }, - depName: 'mygroup/ansible-base', - newValue: '0.1', - }; - const res = updateDependency({ fileContent: yamlFile1, upgrade }); - expect(res).toEqual(yamlFile1); - }); - it('returns null if mismatch', () => { - const upgrade = { - managerData: { lineNumber: 19 }, - depName: 'mygroup/ansible-base', - newValue: '0.1', - }; - const res = updateDependency({ fileContent: yamlFile1, upgrade }); - expect(res).toBeNull(); - }); - it('returns null if error', () => { - const res = updateDependency({ fileContent: null, upgrade: null }); - expect(res).toBeNull(); - }); - }); -}); diff --git a/lib/manager/ansible-galaxy/update.ts b/lib/manager/ansible-galaxy/update.ts deleted file mode 100644 index fe5c9a1c0f..0000000000 --- a/lib/manager/ansible-galaxy/update.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { logger } from '../../logger'; -import { UpdateDependencyConfig } from '../common'; - -export default function updateDependency({ - fileContent, - upgrade, -}: UpdateDependencyConfig): string | null { - try { - logger.debug(`ansible-galaxy.updateDependency(): ${upgrade.newValue}`); - const lines = fileContent.split('\n'); - const lineToChange = lines[upgrade.managerData.lineNumber]; - const regexMatchNewBlock = new RegExp( - /^(\s?-?\s?(src|scm|version|name):\s*["']?)([^"']*)(["']?.*)$/ - ); - if (!regexMatchNewBlock.exec(lineToChange)) { - logger.debug('No version line found'); - return null; - } - const newLine = lineToChange.replace( - regexMatchNewBlock, - `$1${upgrade.newValue}$4` - ); - if (newLine === lineToChange) { - logger.debug('No changes necessary'); - return fileContent; - } - lines[upgrade.managerData.lineNumber] = newLine; - return lines.join('\n'); - } catch (err) { - logger.debug( - { err }, - 'Error setting new ansible-galaxy role version value' - ); - return null; - } -} -- GitLab