diff options
author | Joffrey F <joffrey@docker.com> | 2018-03-22 13:10:35 +0100 |
---|---|---|
committer | Joffrey F <f.joffrey@gmail.com> | 2018-03-29 16:25:14 -0700 |
commit | 73a9003758d60226879f06c630c01389f3dd0fe7 (patch) | |
tree | 679b7cbbad7577e0c72025dfeba3c72990d4b3aa /Jenkinsfile | |
parent | e9f31e1e277a39eb275cdd3cc29a42adf0bc5094 (diff) | |
download | docker-py-73a9003758d60226879f06c630c01389f3dd0fe7.tar.gz |
Generate test engines list dynamically
Signed-off-by: Joffrey F <joffrey@docker.com>
Diffstat (limited to 'Jenkinsfile')
-rw-r--r-- | Jenkinsfile | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/Jenkinsfile b/Jenkinsfile index 1323f4b..211159b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -5,13 +5,6 @@ def imageNamePy2 def imageNamePy3 def images = [:] -def dockerVersions = [ - "17.06.2-ce", // Latest EE - "17.12.1-ce", // Latest CE stable - "18.02.0-ce", // Latest CE edge - "18.03.0-ce-rc4" // Latest CE RC -] - def buildImage = { name, buildargs, pyTag -> img = docker.image(name) try { @@ -37,9 +30,27 @@ def buildImages = { -> } } +def getDockerVersions = { -> + def dockerVersions = ["17.06.2-ce"] + wrappedNode(label: "ubuntu && !zfs") { + def result = sh(script: """docker run --rm \\ + --entrypoint=python \\ + ${imageNamePy3} \\ + /src/scripts/versions.py + """, returnStdout: true + ) + dockerVersions = dockerVersions + result.trim().tokenize(' ') + } + return dockerVersions +} + def getAPIVersion = { engineVersion -> def versionMap = ['17.06': '1.30', '17.12': '1.35', '18.02': '1.36', '18.03': '1.37'] - return versionMap[engineVersion.substring(0, 5)] + def result = versionMap[engineVersion.substring(0, 5)] + if (!result) { + return '1.37' + } + return result } def runTests = { Map settings -> @@ -94,6 +105,8 @@ def runTests = { Map settings -> buildImages() +def dockerVersions = getDockerVersions() + def testMatrix = [failFast: false] for (imgKey in new ArrayList(images.keySet())) { |