summaryrefslogtreecommitdiff
path: root/Jenkinsfile
diff options
context:
space:
mode:
authorJoffrey F <joffrey@docker.com>2018-03-22 13:10:35 +0100
committerJoffrey F <f.joffrey@gmail.com>2018-03-29 16:25:14 -0700
commit73a9003758d60226879f06c630c01389f3dd0fe7 (patch)
tree679b7cbbad7577e0c72025dfeba3c72990d4b3aa /Jenkinsfile
parente9f31e1e277a39eb275cdd3cc29a42adf0bc5094 (diff)
downloaddocker-py-73a9003758d60226879f06c630c01389f3dd0fe7.tar.gz
Generate test engines list dynamically
Signed-off-by: Joffrey F <joffrey@docker.com>
Diffstat (limited to 'Jenkinsfile')
-rw-r--r--Jenkinsfile29
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())) {