From ce659947cf128055537b06c85c4dff3b2210a216 Mon Sep 17 00:00:00 2001 From: Rhys Arkins Date: Tue, 7 Apr 2020 22:48:15 +0200 Subject: [PATCH] refactor(buildkite): autoReplace (#5908) --- .../__snapshots__/extract.spec.ts.snap | 30 ------- .../__snapshots__/update.spec.ts.snap | 22 ----- lib/manager/buildkite/extract.ts | 1 - lib/manager/buildkite/index.ts | 5 +- lib/manager/buildkite/update.spec.ts | 86 ------------------- lib/manager/buildkite/update.ts | 30 ------- 6 files changed, 3 insertions(+), 171 deletions(-) delete mode 100644 lib/manager/buildkite/__snapshots__/update.spec.ts.snap delete mode 100644 lib/manager/buildkite/update.spec.ts delete mode 100644 lib/manager/buildkite/update.ts diff --git a/lib/manager/buildkite/__snapshots__/extract.spec.ts.snap b/lib/manager/buildkite/__snapshots__/extract.spec.ts.snap index 20be1e4eaf8351..187b4123616916 100644 --- a/lib/manager/buildkite/__snapshots__/extract.spec.ts.snap +++ b/lib/manager/buildkite/__snapshots__/extract.spec.ts.snap @@ -5,25 +5,16 @@ Array [ Object { "currentValue": "v1.3.2.5", "depName": "namespace/docker-compose", - "managerData": Object { - "lineNumber": 5, - }, "skipReason": "invalid-version", }, Object { "currentValue": "v1.3.2", "depName": "https://github.com/buildkite/plugin-docker-compose", - "managerData": Object { - "lineNumber": 16, - }, "skipReason": "git-plugin", }, Object { "currentValue": "v1.3.2", "depName": "github.com/buildkite/plugin-docker-compose", - "managerData": Object { - "lineNumber": 23, - }, "skipReason": "unknown", }, ] @@ -36,9 +27,6 @@ Array [ "datasource": "github-tags", "depName": "docker-login", "lookupName": "buildkite-plugins/docker-login-buildkite-plugin", - "managerData": Object { - "lineNumber": 3, - }, "skipReason": undefined, }, Object { @@ -46,9 +34,6 @@ Array [ "datasource": "github-tags", "depName": "docker-compose", "lookupName": "buildkite-plugins/docker-compose-buildkite-plugin", - "managerData": Object { - "lineNumber": 5, - }, "skipReason": undefined, }, Object { @@ -56,9 +41,6 @@ Array [ "datasource": "github-tags", "depName": "docker-login", "lookupName": "buildkite-plugins/docker-login-buildkite-plugin", - "managerData": Object { - "lineNumber": 11, - }, "skipReason": undefined, }, Object { @@ -66,9 +48,6 @@ Array [ "datasource": "github-tags", "depName": "docker-compose", "lookupName": "buildkite-plugins/docker-compose-buildkite-plugin", - "managerData": Object { - "lineNumber": 13, - }, "skipReason": undefined, }, ] @@ -81,9 +60,6 @@ Array [ "datasource": "github-tags", "depName": "docker-compose", "lookupName": "buildkite-plugins/docker-compose-buildkite-plugin", - "managerData": Object { - "lineNumber": 5, - }, "skipReason": undefined, }, Object { @@ -91,9 +67,6 @@ Array [ "datasource": "github-tags", "depName": "docker-compose", "lookupName": "buildkite-plugins/docker-compose-buildkite-plugin", - "managerData": Object { - "lineNumber": 16, - }, "skipReason": undefined, }, ] @@ -106,9 +79,6 @@ Array [ "datasource": "github-tags", "depName": "abc/detect-clowns", "lookupName": "abc/detect-clowns-buildkite-plugin", - "managerData": Object { - "lineNumber": 3, - }, "skipReason": undefined, }, ] diff --git a/lib/manager/buildkite/__snapshots__/update.spec.ts.snap b/lib/manager/buildkite/__snapshots__/update.spec.ts.snap deleted file mode 100644 index 14775ceb7071cf..00000000000000 --- a/lib/manager/buildkite/__snapshots__/update.spec.ts.snap +++ /dev/null @@ -1,22 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`manager/buildkite/update updateDependency replaces two values in one file 1`] = ` -"steps: - # Prebuild the app image, upload it to a registry for later steps - - name: \\"Docker Build\\" - plugins: - docker-compose#v1.5.0: - build: app - image-repository: index.docker.io/org/repo - - - wait - - # Use the app image built above to run concurrent tests - - name: \\"Docker Test %n\\" - command: test.sh - parallelism: 25 - plugins: - docker-compose#v1.5.0: - run: app -" -`; diff --git a/lib/manager/buildkite/extract.ts b/lib/manager/buildkite/extract.ts index 8685446b41e0f5..0c51e80c2bdce8 100644 --- a/lib/manager/buildkite/extract.ts +++ b/lib/manager/buildkite/extract.ts @@ -56,7 +56,6 @@ export function extractPackageFile(content: string): PackageFile | null { } } const dep: PackageDependency = { - managerData: { lineNumber }, depName, currentValue, skipReason, diff --git a/lib/manager/buildkite/index.ts b/lib/manager/buildkite/index.ts index 08878c505a9fcc..f5e32ab955273f 100644 --- a/lib/manager/buildkite/index.ts +++ b/lib/manager/buildkite/index.ts @@ -1,7 +1,8 @@ import { extractPackageFile } from './extract'; -import { updateDependency } from './update'; -export { extractPackageFile, updateDependency }; +export { extractPackageFile }; + +export const autoReplace = true; export const defaultConfig = { fileMatch: ['buildkite\\.ya?ml', '\\.buildkite/.+\\.ya?ml$'], diff --git a/lib/manager/buildkite/update.spec.ts b/lib/manager/buildkite/update.spec.ts deleted file mode 100644 index b9733f7051d879..00000000000000 --- a/lib/manager/buildkite/update.spec.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { readFileSync } from 'fs'; -import { updateDependency } from './update'; - -const pipeline1 = readFileSync( - 'lib/manager/buildkite/__fixtures__/pipeline1.yml', - 'utf8' -); -const pipeline2 = readFileSync( - 'lib/manager/buildkite/__fixtures__/pipeline2.yml', - 'utf8' -); -const pipeline4 = readFileSync( - 'lib/manager/buildkite/__fixtures__/pipeline4.yml', - 'utf8' -); - -describe('manager/buildkite/update', () => { - describe('updateDependency', () => { - it('replaces existing value', () => { - const upgrade = { - managerData: { lineNumber: 3 }, - newValue: 'v2.2.0', - }; - const res = updateDependency({ fileContent: pipeline1, upgrade }); - expect(res).not.toEqual(pipeline1); - expect(res.includes(upgrade.newValue)).toBe(true); - }); - it('replaces arrays', () => { - const upgrade = { - managerData: { lineNumber: 11 }, - newValue: 'v2.2.0', - }; - const res = updateDependency({ fileContent: pipeline4, upgrade }); - expect(res).not.toEqual(pipeline4); - expect(res.includes(upgrade.newValue)).toBe(true); - }); - it('replaces two values in one file', () => { - const upgrade1 = { - managerData: { lineNumber: 5 }, - newValue: 'v1.5.0', - }; - const res1 = updateDependency({ - fileContent: pipeline2, - upgrade: upgrade1, - }); - expect(res1).not.toEqual(pipeline2); - expect(res1.includes(upgrade1.newValue)).toBe(true); - const upgrade2 = { - managerData: { lineNumber: 16 }, - newValue: 'v1.5.0', - }; - const res2 = updateDependency({ - fileContent: res1, - upgrade: upgrade2, - }); - expect(res2).not.toEqual(res1); - expect(res2).toMatchSnapshot(); - }); - it('returns same', () => { - const upgrade = { - managerData: { lineNumber: 3 }, - newValue: 'v2.0.0', - }; - const res = updateDependency({ - fileContent: pipeline1, - upgrade, - }); - expect(res).toEqual(pipeline1); - }); - it('returns null if mismatch', () => { - const upgrade = { - managerData: { lineNumber: 4 }, - newValue: 'v2.2.0', - }; - const res = updateDependency({ - fileContent: pipeline1, - upgrade, - }); - expect(res).toBeNull(); - }); - it('returns null if error', () => { - const res = updateDependency({ fileContent: null, upgrade: null }); - expect(res).toBeNull(); - }); - }); -}); diff --git a/lib/manager/buildkite/update.ts b/lib/manager/buildkite/update.ts deleted file mode 100644 index a50fe12e0295b7..00000000000000 --- a/lib/manager/buildkite/update.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { logger } from '../../logger'; -import { UpdateDependencyConfig } from '../common'; -import { regEx } from '../../util/regex'; - -export function updateDependency({ - fileContent, - upgrade, -}: UpdateDependencyConfig): string | null { - try { - const lineIdx = upgrade.managerData.lineNumber - 1; - logger.debug(`buildkite.updateDependency: ${upgrade.newValue}`); - const lines = fileContent.split('\n'); - const lineToChange = lines[lineIdx]; - const depLine = regEx(`^(\\s+[^#]+#)[^:]+(.*)$`); - if (!depLine.test(lineToChange)) { - logger.debug('No image line found'); - return null; - } - const newLine = lineToChange.replace(depLine, `$1${upgrade.newValue}$2`); - if (newLine === lineToChange) { - logger.debug('No changes necessary'); - return fileContent; - } - lines[lineIdx] = newLine; - return lines.join('\n'); - } catch (err) { - logger.debug({ err }, 'Error setting new buildkite version'); - return null; - } -}