12345678910111213141516171819202122232425262728293031323334 |
- wrappedNode(label: 'linux && x86_64') {
- deleteDir()
- checkout scm
- def image
- try {
- stage "build image"
- image = docker.build("dockerbuildbot/libcompose:${gitCommit()}")
- stage "validate"
- makeTask(image, "validate")
- stage "test"
- makeTask(image, "test", ["TESTVERBOSE=1", "DAEMON_VERSION=all"])
- stage "build"
- makeTask(image, "cross-binary")
- } finally {
- try { archive "bundles" } catch (Exception exc) {}
- if (image) { sh "docker rmi ${image.id} ||:" }
- }
- }
- def makeTask(image, task, envVars=null) {
- // could send in the full list of envVars for each call or provide default env vars like this:
- withEnv((envVars ?: []) + ["LIBCOMPOSE_IMAGE=${image.id}"]) { // would need `def image` at top level of file instead of in the nested block
- withChownWorkspace {
- timeout(60) {
- sh "make -e ${task}"
- }
- }
- }
- }
|