diff --git a/lib/manager/circleci/extract.js b/lib/manager/circleci/extract.js index 0d3b8758370e2e04abf3a9236b4ac7eebf60b7f1..151784b4ae6f3ee8f58fe3f426e57922e6cbd951 100644 --- a/lib/manager/circleci/extract.js +++ b/lib/manager/circleci/extract.js @@ -9,7 +9,7 @@ function extractDependencies(content) { const deps = []; let lineNumber = 0; for (const line of content.split('\n')) { - const match = line.match(/^\s*- image:\s*([^\s]+)\s*$/); + const match = line.match(/^\s*- image:\s*'?"?([^\s'"]+)'?"?\s*$/); if (match) { const currentFrom = match[1]; const { diff --git a/lib/manager/circleci/update.js b/lib/manager/circleci/update.js index ac3c949fa140e0e38b13bf5f4856dfbc4f185e62..99b5a093d34ce1c3aaa66c05d58b50749a1401ae 100644 --- a/lib/manager/circleci/update.js +++ b/lib/manager/circleci/update.js @@ -7,7 +7,7 @@ function setNewValue(currentFileContent, upgrade) { logger.debug(`circleci.setNewValue: ${upgrade.newFrom}`); const lines = currentFileContent.split('\n'); const lineToChange = lines[upgrade.lineNumber]; - const imageLine = new RegExp(/^(\s*- image:\s*)[^\s]+(\s*)$/); + const imageLine = new RegExp(/^(\s*- image:\s*'?"?)[^\s'"]+('?"?\s*)$/); if (!lineToChange.match(imageLine)) { logger.debug('No image line found'); return null; diff --git a/test/_fixtures/circleci/config.yml b/test/_fixtures/circleci/config.yml index c9856e84747b62b3a49ba62d16605e80ec23f52e..68f5e031c70cdc6167e42e9d56945d5a50553306 100644 --- a/test/_fixtures/circleci/config.yml +++ b/test/_fixtures/circleci/config.yml @@ -55,7 +55,7 @@ jobs: node-v4: <<: *node-base docker: - - image: node:4 + - image: 'node:4' node-v6: <<: *node-base docker: @@ -63,4 +63,4 @@ jobs: node-v8: <<: *node-base docker: - - image: node:8.9.0 + - image: "node:8.9.0"