forked from CTSRD-CHERI/cheribsd
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJenkinsfile
33 lines (29 loc) · 1.17 KB
/
Jenkinsfile
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
32
33
@Library('ctsrd-jenkins-scripts') _
properties([disableConcurrentBuilds(),
disableResume(),
[$class: 'GithubProjectProperty', displayName: '', projectUrlStr: 'https://github.com/CTSRD-CHERI/cheribsd/'],
[$class: 'CopyArtifactPermissionProperty', projectNames: '*'],
[$class: 'JobPropertyImpl', throttle: [count: 2, durationName: 'hour', userBoost: true]],
durabilityHint('PERFORMANCE_OPTIMIZED'),
pipelineTriggers([githubPush()])
])
jobs = []
for (i in ["mips-nocheri", "cheri", "purecap"]) {
String suffix = "${i}" // work around stupid groovy lambda captures
String name = "cheribsd-${suffix}"
jobs[name] = cheribuildProject(target: "cheribsd-${suffix}", cpu: suffix == 'mips-nocheri' ? 'mips': 'cheri128',
extraArgs: '--cheribsd/build-options=-s --cheribsd/no-debug-info',
skipArchiving: true,
customGitCheckoutDir: 'cheribsd',
runTests: false, /* TODO: run cheritest */)
}
boolean runParallel = true;
if (runParallel) {
jobs.failFast = true
parallel jobs
} else {
jobs.each { key, value ->
echo("RUNNING $key")
value();
}
}