From 511fef8135ae71beedfe95217e0ac19d674b3972 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Fri, 29 Jun 2018 09:02:49 +0200 Subject: [PATCH] refactor: use docker versioning Initially docker versioning is just a node semver wrapper, but it will later be expanded with custom support for docker-specific version tags. --- lib/manager/circleci/extract.js | 2 +- lib/manager/docker-compose/extract.js | 2 +- lib/manager/docker/extract.js | 2 +- lib/versioning/docker/index.js | 5 +++ lib/versioning/index.js | 2 ++ .../__snapshots__/extract.spec.js.snap | 8 ++--- .../__snapshots__/extract.spec.js.snap | 14 ++++---- .../docker/__snapshots__/extract.spec.js.snap | 34 +++++++++---------- 8 files changed, 38 insertions(+), 31 deletions(-) create mode 100644 lib/versioning/docker/index.js diff --git a/lib/manager/circleci/extract.js b/lib/manager/circleci/extract.js index 9eef2a7613..bbf5a6ba52 100644 --- a/lib/manager/circleci/extract.js +++ b/lib/manager/circleci/extract.js @@ -34,7 +34,7 @@ function extractDependencies(content) { currentDigest, depName, currentTag, - versionScheme: 'semver', + versionScheme: 'docker', }; if (depName === 'node' || depName.endsWith('/node')) { dep.commitMessageTopic = 'Node.js'; diff --git a/lib/manager/docker-compose/extract.js b/lib/manager/docker-compose/extract.js index f892923f2f..194a8adcf8 100644 --- a/lib/manager/docker-compose/extract.js +++ b/lib/manager/docker-compose/extract.js @@ -33,7 +33,7 @@ function extractDependencies(content) { currentDigest, depName, currentTag, - versionScheme: 'semver', + versionScheme: 'docker', }; if (depName === 'node' || depName.endsWith('/node')) { dep.commitMessageTopic = 'Node.js'; diff --git a/lib/manager/docker/extract.js b/lib/manager/docker/extract.js index d15e1e720e..e36073f3bc 100644 --- a/lib/manager/docker/extract.js +++ b/lib/manager/docker/extract.js @@ -82,7 +82,7 @@ function extractDependencies(content) { currentDigest, depName, currentTag, - versionScheme: 'semver', + versionScheme: 'docker', }; if (depName === 'node' || depName.endsWith('/node')) { dep.commitMessageTopic = 'Node.js'; diff --git a/lib/versioning/docker/index.js b/lib/versioning/docker/index.js new file mode 100644 index 0000000000..9017641c68 --- /dev/null +++ b/lib/versioning/docker/index.js @@ -0,0 +1,5 @@ +const semver = require('../semver'); + +module.exports = { + ...semver, +}; diff --git a/lib/versioning/index.js b/lib/versioning/index.js index 7cad3bb8c0..cab16eeefa 100644 --- a/lib/versioning/index.js +++ b/lib/versioning/index.js @@ -1,8 +1,10 @@ +const docker = require('./docker'); const semver = require('./semver'); const semverComposer = require('./semver-composer'); const pep440 = require('./pep440'); const schemes = { + docker, semver, semverComposer, pep440, diff --git a/test/manager/circleci/__snapshots__/extract.spec.js.snap b/test/manager/circleci/__snapshots__/extract.spec.js.snap index df914446e3..da58667e25 100644 --- a/test/manager/circleci/__snapshots__/extract.spec.js.snap +++ b/test/manager/circleci/__snapshots__/extract.spec.js.snap @@ -13,7 +13,7 @@ Array [ "dockerRegistry": undefined, "fromVersion": "node", "lineNumber": 12, - "versionScheme": "semver", + "versionScheme": "docker", }, Object { "commitMessageTopic": "Node.js", @@ -26,7 +26,7 @@ Array [ "dockerRegistry": undefined, "fromVersion": "node:4", "lineNumber": 57, - "versionScheme": "semver", + "versionScheme": "docker", }, Object { "commitMessageTopic": "Node.js", @@ -39,7 +39,7 @@ Array [ "dockerRegistry": undefined, "fromVersion": "node:6", "lineNumber": 61, - "versionScheme": "semver", + "versionScheme": "docker", }, Object { "commitMessageTopic": "Node.js", @@ -52,7 +52,7 @@ Array [ "dockerRegistry": undefined, "fromVersion": "node:8.9.0", "lineNumber": 65, - "versionScheme": "semver", + "versionScheme": "docker", }, ] `; diff --git a/test/manager/docker-compose/__snapshots__/extract.spec.js.snap b/test/manager/docker-compose/__snapshots__/extract.spec.js.snap index 2a1c4ab1d3..2edb4b6264 100644 --- a/test/manager/docker-compose/__snapshots__/extract.spec.js.snap +++ b/test/manager/docker-compose/__snapshots__/extract.spec.js.snap @@ -11,7 +11,7 @@ Array [ "depName": "something/redis", "dockerRegistry": "quay.io", "lineNumber": 4, - "versionScheme": "semver", + "versionScheme": "docker", }, Object { "commitMessageTopic": "Node.js", @@ -23,7 +23,7 @@ Array [ "depName": "node", "dockerRegistry": undefined, "lineNumber": 18, - "versionScheme": "semver", + "versionScheme": "docker", }, Object { "currentDepTag": "postgres:9.4.0", @@ -34,7 +34,7 @@ Array [ "depName": "postgres", "dockerRegistry": undefined, "lineNumber": 21, - "versionScheme": "semver", + "versionScheme": "docker", }, Object { "currentDepTag": "dockersamples/examplevotingapp_vote:before", @@ -45,7 +45,7 @@ Array [ "depName": "dockersamples/examplevotingapp_vote", "dockerRegistry": undefined, "lineNumber": 31, - "versionScheme": "semver", + "versionScheme": "docker", }, Object { "currentDepTag": "dockersamples/examplevotingapp_result:before", @@ -56,7 +56,7 @@ Array [ "depName": "dockersamples/examplevotingapp_result", "dockerRegistry": undefined, "lineNumber": 46, - "versionScheme": "semver", + "versionScheme": "docker", }, Object { "currentDepTag": "dockersamples/examplevotingapp_worker", @@ -67,7 +67,7 @@ Array [ "depName": "dockersamples/examplevotingapp_worker", "dockerRegistry": undefined, "lineNumber": 62, - "versionScheme": "semver", + "versionScheme": "docker", }, Object { "currentDepTag": "dockersamples/visualizer:stable", @@ -78,7 +78,7 @@ Array [ "depName": "dockersamples/visualizer", "dockerRegistry": undefined, "lineNumber": 79, - "versionScheme": "semver", + "versionScheme": "docker", }, ] `; diff --git a/test/manager/docker/__snapshots__/extract.spec.js.snap b/test/manager/docker/__snapshots__/extract.spec.js.snap index da77b141ec..4f8c8c799e 100644 --- a/test/manager/docker/__snapshots__/extract.spec.js.snap +++ b/test/manager/docker/__snapshots__/extract.spec.js.snap @@ -15,7 +15,7 @@ Array [ "fromPrefix": "FROM", "fromSuffix": "AS node", "language": "docker", - "versionScheme": "semver", + "versionScheme": "docker", }, Object { "currentDepTag": "buildkite/puppeteer:1.1.1", @@ -29,7 +29,7 @@ Array [ "fromPrefix": "FROM", "fromSuffix": "AS puppeteer", "language": "docker", - "versionScheme": "semver", + "versionScheme": "docker", }, ] `; @@ -49,7 +49,7 @@ Array [ "fromPrefix": "FROM", "fromSuffix": "as frontend", "language": "docker", - "versionScheme": "semver", + "versionScheme": "docker", }, Object { "currentDepTag": "python:3.6-slim", @@ -63,7 +63,7 @@ Array [ "fromPrefix": "FROM", "fromSuffix": "", "language": "docker", - "versionScheme": "semver", + "versionScheme": "docker", }, ] `; @@ -83,7 +83,7 @@ Array [ "fromPrefix": "FROM", "fromSuffix": "", "language": "docker", - "versionScheme": "semver", + "versionScheme": "docker", }, ] `; @@ -103,7 +103,7 @@ Array [ "fromPrefix": "FROM", "fromSuffix": "", "language": "docker", - "versionScheme": "semver", + "versionScheme": "docker", }, ] `; @@ -123,7 +123,7 @@ Array [ "fromPrefix": "FROM", "fromSuffix": "", "language": "docker", - "versionScheme": "semver", + "versionScheme": "docker", }, ] `; @@ -143,7 +143,7 @@ Array [ "fromPrefix": "FROM", "fromSuffix": "", "language": "docker", - "versionScheme": "semver", + "versionScheme": "docker", }, ] `; @@ -163,7 +163,7 @@ Array [ "fromPrefix": "FROM", "fromSuffix": "", "language": "docker", - "versionScheme": "semver", + "versionScheme": "docker", }, ] `; @@ -183,7 +183,7 @@ Array [ "fromPrefix": "FROM", "fromSuffix": "", "language": "docker", - "versionScheme": "semver", + "versionScheme": "docker", }, ] `; @@ -203,7 +203,7 @@ Array [ "fromPrefix": "FROM", "fromSuffix": "as base", "language": "docker", - "versionScheme": "semver", + "versionScheme": "docker", }, ] `; @@ -223,7 +223,7 @@ Array [ "fromPrefix": "FROM", "fromSuffix": "", "language": "docker", - "versionScheme": "semver", + "versionScheme": "docker", }, ] `; @@ -243,7 +243,7 @@ Array [ "fromPrefix": "FROM", "fromSuffix": "", "language": "docker", - "versionScheme": "semver", + "versionScheme": "docker", }, ] `; @@ -263,7 +263,7 @@ Array [ "fromPrefix": "FROM", "fromSuffix": "", "language": "docker", - "versionScheme": "semver", + "versionScheme": "docker", }, ] `; @@ -283,7 +283,7 @@ Array [ "fromPrefix": "FROM", "fromSuffix": "", "language": "docker", - "versionScheme": "semver", + "versionScheme": "docker", }, ] `; @@ -303,7 +303,7 @@ Array [ "fromPrefix": "From", "fromSuffix": "", "language": "docker", - "versionScheme": "semver", + "versionScheme": "docker", }, ] `; @@ -323,7 +323,7 @@ Array [ "fromPrefix": "FROM", "fromSuffix": "as frontend", "language": "docker", - "versionScheme": "semver", + "versionScheme": "docker", }, ] `; -- GitLab