summaryrefslogtreecommitdiff
path: root/Jenkinsfile
blob: 23802f5f127a2e4081f0651eb3512cdbab8b1fb9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
def ci_targets = [
    ["linux-amd64", "openttd/compile-farm-ci:linux-amd64"],
    ["linux-i386", "openttd/compile-farm-ci:linux-i386"],
]
def ci_stages = ci_targets.collectEntries {
    ["${it[0]}" : generateCI(it[0], it[1])]
}

def generateCI(display_name, image_name) {
    return {
        dir("${display_name}") {
            unstash "source"
            docker.image("${image_name}").withRun("--volumes-from ${hostname} --workdir " + pwd()) { c->
                sh "docker logs --follow ${c.id}"
                sh "exit `docker wait ${c.id}`"
            }
        }
    }
}

node {
    stage("Checkout") {
        checkout scm
        stash name: "source", useDefaultExcludes: false
    }

    stage("CI") {
        parallel ci_stages
    }
}