-
Notifications
You must be signed in to change notification settings - Fork 1
/
bench_Jenkinsfile
100 lines (94 loc) · 4.26 KB
/
bench_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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
pipeline {
agent any
options {
timestamps()
timeout(time: 3, unit: 'HOURS')
}
tools {
jdk 'openJDK7u131'
}
environment {
//Change the first three variables
DJANGO="/home/vasilis/Desktop/BenchVisualizer"
DACAPO="/home/vasilis/Desktop/SPECjvm2008"
SPECJVM2008="/home/vasilis/Desktop/SPECjvm2008"
MAXINE_HOME="$WORKSPACE/maxine"
GRAAL_HOME="$WORKSPACE/graal"
MX="$GRAAL_HOME/mxtool/mx"
PATH="/localhome/regression/gcc-linaro-7.1.1-2017.08-x86_64_aarch64-linux-gnu/bin:/localhome/regression/gcc-arm-none-eabi-7-2017-q4-major/bin:/localhome/regression/qemu-2.10.1/build/aarch64-softmmu:/localhome/regression/qemu-2.10.1/build/arm-softmmu:/localhome/regression/riscv/bin:$PATH"
LD_LIBRARY_PATH="$MAXINE_HOME/com.oracle.max.vm.native/generated/linux/"
}
stages {
stage('clone') {
steps {
// Clean up workspace
step([$class: 'WsCleanup'])
dir(env.MAXINE_HOME) {
checkout scm
}
dir(env.GRAAL_HOME) {
// Use ugly/advanced syntax to perform shallow clone
checkout([$class: 'GitSCM', branches: [[name: 'master']], extensions: [[$class: 'CloneOption', noTags: true, shallow: true]], userRemoteConfigs: [[credentialsId: 'orion_github', url: 'https://github.com/beehive-lab/Maxine-Graal.git']]])
}
}
}
stage('build') {
steps {
dir(env.MAXINE_HOME) {
sh '$MX build'
}
}
}
stage('image') {
steps {
dir(env.MAXINE_HOME) {
sh '$MX image'
}
}
}
stage('DACAPO benchmarks') {
steps {
dir(env.DACAPO) {
sh '$MX --vm=maxine vm -jar dacapo-9.12-bach.jar avrora || true'
sh '$MX --vm=maxine vm -jar dacapo-9.12-bach.jar batik || true'
sh '$MX --vm=maxine vm -jar dacapo-9.12-bach.jar eclipse || true'
sh '$MX --vm=maxine vm -jar dacapo-9.12-bach.jar fop || true'
sh '$MX --vm=maxine vm -jar dacapo-9.12-bach.jar h2 || true'
sh '$MX --vm=maxine vm -jar dacapo-9.12-bach.jar jython || true'
sh '$MX --vm=maxine vm -jar dacapo-9.12-bach.jar luindex || true'
sh '$MX --vm=maxine vm -jar dacapo-9.12-bach.jar lusearch || true'
sh '$MX --vm=maxine vm -jar dacapo-9.12-bach.jar pmd || true'
sh '$MX --vm=maxine vm -jar dacapo-9.12-bach.jar sunflow || true'
sh '$MX --vm=maxine vm -jar dacapo-9.12-bach.jar tomcat || true'
sh '$MX --vm=maxine vm -jar dacapo-9.12-bach.jar tradebeans || true'
sh '$MX --vm=maxine vm -jar dacapo-9.12-bach.jar tradesoap || true'
sh '$MX --vm=maxine vm -jar dacapo-9.12-bach.jar xalan || true'
}
}
}
stage('SPECJVM benchmarks') {
steps {
dir(env.SPECJVM2008) {
sh 'timeout -s SIGINT 7m $MX --vm=maxine vm -jar SPECjvm2008.jar -bt 2 startup || true'
sh 'timeout -s SIGINT 7m $MX --vm=maxine vm -jar SPECjvm2008.jar -bt 2 compiler || true'
sh 'timeout -s SIGINT 7m $MX --vm=maxine vm -jar SPECjvm2008.jar -bt 2 compress || true'
sh 'timeout -s SIGINT 7m $MX --vm=maxine vm -jar SPECjvm2008.jar -bt 2 crypto || true'
sh 'timeout -s SIGINT 7m $MX --vm=maxine vm -jar SPECjvm2008.jar -bt 2 derby || true'
sh 'timeout -s SIGINT 7m $MX --vm=maxine vm -jar SPECjvm2008.jar -bt 2 mpegaudio || true'
sh 'timeout -s SIGINT 7m $MX --vm=maxine vm -jar SPECjvm2008.jar -bt 2 scimark || true'
sh 'timeout -s SIGINT 7m $MX --vm=maxine vm -jar SPECjvm2008.jar -bt 2 serial || true'
sh 'timeout -s SIGINT 7m $MX --vm=maxine vm -jar SPECjvm2008.jar -bt 2 sunflow || true'
sh 'timeout -s SIGINT 7m $MX --vm=maxine vm -jar SPECjvm2008.jar -bt 2 xml || true'
}
}
}
stage('db_update') {
steps {
dir(env.DJANGO) {
//use ssh step if BenchVisualizer is hosted remotely
sh 'python manage.py addBenchToJob $JOB_NAME --get_jenkins_latest'
}
}
}
}
}