From addfd4ef837f471b44eadb1e34a89083e0b4edb8 Mon Sep 17 00:00:00 2001 From: Samuel Bodin <samuel.bodin@algolia.com> Date: Mon, 31 Aug 2020 14:21:08 +0200 Subject: [PATCH] fix(circleci): leading dash is optional (#7143) --- lib/manager/circleci/__fixtures__/config3.yml | 20 ++++++++++++++ .../__snapshots__/extract.spec.ts.snap | 26 +++++++++++++++++++ lib/manager/circleci/extract.spec.ts | 8 ++++++ lib/manager/circleci/extract.ts | 2 +- 4 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 lib/manager/circleci/__fixtures__/config3.yml diff --git a/lib/manager/circleci/__fixtures__/config3.yml b/lib/manager/circleci/__fixtures__/config3.yml new file mode 100644 index 0000000000..307ade4d7f --- /dev/null +++ b/lib/manager/circleci/__fixtures__/config3.yml @@ -0,0 +1,20 @@ +aliases: + - &nodejs + image: cimg/node:14.8.0 + +version: 2 +jobs: + checkout: + <<: *defaults + docker: + - *nodejs + steps: + - run: yarn build:runtime + + release_docker: + <<: *defaults + machine: + image: ubuntu-1604:201903-01 + docker_layer_caching: true + steps: + - run: ./scripts.sh diff --git a/lib/manager/circleci/__snapshots__/extract.spec.ts.snap b/lib/manager/circleci/__snapshots__/extract.spec.ts.snap index dafe4d2675..f5995278cb 100644 --- a/lib/manager/circleci/__snapshots__/extract.spec.ts.snap +++ b/lib/manager/circleci/__snapshots__/extract.spec.ts.snap @@ -1,5 +1,31 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`lib/manager/circleci/extract extractPackageFile() extracts image without leading dash 1`] = ` +Array [ + Object { + "autoReplaceStringTemplate": "{{depName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}", + "commitMessageTopic": "Node.js", + "currentDigest": undefined, + "currentValue": "14.8.0", + "datasource": "docker", + "depName": "cimg/node", + "depType": "docker", + "replaceString": "cimg/node:14.8.0", + "versioning": "docker", + }, + Object { + "autoReplaceStringTemplate": "{{depName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}", + "currentDigest": undefined, + "currentValue": "201903-01", + "datasource": "docker", + "depName": "ubuntu-1604", + "depType": "docker", + "replaceString": "ubuntu-1604:201903-01", + "versioning": "docker", + }, +] +`; + exports[`lib/manager/circleci/extract extractPackageFile() extracts multiple image lines 1`] = ` Array [ Object { diff --git a/lib/manager/circleci/extract.spec.ts b/lib/manager/circleci/extract.spec.ts index 949821fddb..a08517f43e 100644 --- a/lib/manager/circleci/extract.spec.ts +++ b/lib/manager/circleci/extract.spec.ts @@ -9,6 +9,10 @@ const file2 = readFileSync( 'lib/manager/circleci/__fixtures__/config2.yml', 'utf8' ); +const file3 = readFileSync( + 'lib/manager/circleci/__fixtures__/config3.yml', + 'utf8' +); describe('lib/manager/circleci/extract', () => { describe('extractPackageFile()', () => { @@ -25,5 +29,9 @@ describe('lib/manager/circleci/extract', () => { expect(res.deps).toMatchSnapshot(); // expect(res.deps).toHaveLength(4); }); + it('extracts image without leading dash', () => { + const res = extractPackageFile(file3); + expect(res.deps).toMatchSnapshot(); + }); }); }); diff --git a/lib/manager/circleci/extract.ts b/lib/manager/circleci/extract.ts index 1b091140e7..c94acb7426 100644 --- a/lib/manager/circleci/extract.ts +++ b/lib/manager/circleci/extract.ts @@ -39,7 +39,7 @@ export function extractPackageFile(content: string): PackageFile | null { } } while (foundOrb); } - const match = /^\s*- image:\s*'?"?([^\s'"]+)'?"?\s*$/.exec(line); + const match = /^\s*-? image:\s*'?"?([^\s'"]+)'?"?\s*$/.exec(line); if (match) { const currentFrom = match[1]; const dep = getDep(currentFrom); -- GitLab