forked from oracle/graal
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathci.hocon
172 lines (163 loc) · 7.03 KB
/
ci.hocon
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
truffleCommon: {
setup : [
[cd, "./truffle"]
]
timelimit : "30:00"
}
gateLite : ${truffleCommon} {
run : [
["mx", "build" ],
["mx", "unittest", "--verbose" ]
]
}
benchCommon: ${linux-amd64} ${oraclejdk8} {
environment: {
BENCH_RESULTS_FILE_PATH: "bench-results.json"
},
setup : [
["cd", ${compiler-suite-root}],
["mx", "build" ]
] ${download-hsdis.setup}
}
benchWeekly: ${benchCommon} {
targets: [bench, weekly],
timelimit: "3:00:00",
teardown : [
["bench-uploader.py", "${BENCH_RESULTS_FILE_PATH}"]
]
}
truffleWeekly: ${truffle-weekly-notifications} {
targets: ["weekly"]
}
simpleToolMavenProjectGate: {
mx_cmd: ["mx", "-p", "../vm", "--dynamicimports", "/graal-js"]
packages : {
maven : "==3.3.9"
}
run : [
[set-export, ROOT_DIR, [pwd]]
${simpleToolMavenProjectGate.mx_cmd} ["build"],
["mkdir", "tmp_mvn_repo"]
["mx", "maven-install", "--repo", "tmp_mvn_repo", "--version-string", ${simpleToolMavenProjectGate.mx_cmd} ["graalvm-version"]],
["set-export", "JAVA_HOME", ${simpleToolMavenProjectGate.mx_cmd} ["--quiet", "--no-warning", "graalvm-home"]],
["cd", "external_repos/"],
["python", "populate.py"],
["cd", "simpletool"],
["mvn", "-Dmaven.repo.local=$ROOT_DIR/tmp_mvn_repo", "package"],
["./simpletool", "js", "example.js"],
],
targets : [gate],
}
simpleLanguageMavenProjectGate: {
mx_cmd: ["mx", "-p", "../vm", "--dynamicimports", "/substratevm", "--native-images=none"]
packages : {
maven : "==3.3.9"
devtoolset: "==7" # GCC 7.3.1, make 4.2.1, binutils 2.28, valgrind 3.13.0
binutils: ">=2.34"
ruby: ">=2.1.0"
}
run : [
[set-export, ROOT_DIR, [pwd]]
${simpleLanguageMavenProjectGate.mx_cmd} ["build"],
["mkdir", "tmp_mvn_repo"]
["mx", "maven-install", "--all-suites", "--repo", "tmp_mvn_repo", "--version-string", ${simpleLanguageMavenProjectGate.mx_cmd} ["graalvm-version"]],
["set-export", "JAVA_HOME", ${simpleLanguageMavenProjectGate.mx_cmd} ["--quiet", "--no-warning", "graalvm-home"]],
["cd", "external_repos"],
["python", "populate.py"],
["cd", "simplelanguage"],
["mvn", "-Dmaven.repo.local=$ROOT_DIR/tmp_mvn_repo", "package"],
["./sl", "language/tests/Add.sl"],
["./sl", "-dump", "language/tests/Add.sl"],
["./sl", "-disassemble", "language/tests/Add.sl"],
["./sl", "language/tests/Add.sl"],
["./native/slnative", "language/tests/Add.sl"],
["$JAVA_HOME/bin/gu", "install", "-L", "component/sl-component.jar"],
["$JAVA_HOME/bin/sl", "language/tests/Add.sl"],
["$JAVA_HOME/bin/slnative", "language/tests/Add.sl"],
["$JAVA_HOME/bin/polyglot", "--jvm", "--language", "sl", "--file", "language/tests/Add.sl"],
["$JAVA_HOME/bin/gu", "remove", "sl"],
],
targets : [gate],
}
builds += [
${linux-amd64} ${oraclejdk8} ${truffleCommon} {run : [["mx", "build"], ["mx", "sigtest", "--check", "all"]], targets : [gate], name: "gate-truffle-sigtest"},
${linux-amd64} ${oraclejdk11} ${truffleCommon} {run : [["mx", "build"], ["mx", "sigtest", "--check", "bin"]], targets : [gate], name: "gate-truffle-sigtest-11"},
${linux-amd64} ${oraclejdk17} ${truffleCommon} {run : [["mx", "build"], ["mx", "sigtest", "--check", "bin"]], targets : [gate], name: "gate-truffle-sigtest-17"},
${linux-amd64} ${oraclejdk8} ${truffleCommon} ${simpleToolMavenProjectGate} {name: "gate-external-mvn-simpletool-8"},
${linux-amd64} ${labsjdk-ee-11} ${truffleCommon} ${simpleToolMavenProjectGate} {name: "gate-external-mvn-simpletool-11"},
${linux-amd64} ${labsjdk-ee-17} ${truffleCommon} ${simpleToolMavenProjectGate} {name: "gate-external-mvn-simpletool-17"},
${linux-amd64} ${oraclejdk8} ${truffleCommon} ${simpleLanguageMavenProjectGate} {name: "gate-external-mvn-simplelanguage-8"},
${linux-amd64} ${labsjdk-ee-11} ${truffleCommon} ${simpleLanguageMavenProjectGate} {name: "gate-external-mvn-simplelanguage-11"},
${linux-amd64} ${labsjdk-ee-17} ${truffleCommon} ${simpleLanguageMavenProjectGate} {name: "gate-external-mvn-simplelanguage-17"},
${linux-amd64} ${oraclejdk8} ${truffleCommon} ${eclipse} ${jdt} {
timelimit : "45:00",
run : [["mx", "--strict-compliance", "gate", "--strict-mode"]],
targets : [gate],
name: "gate-truffle-8"},
${linux-amd64} ${oraclejdk11} ${truffleCommon} ${eclipse} ${jdt} {
environment: {DISABLE_DSL_STATE_BITS_TESTS: "true"},
run : [["mx", "--strict-compliance", "gate", "--strict-mode"]],
targets : [gate],
name: "gate-truffle-oraclejdk-11"},
${linux-amd64} ${oraclejdk17} ${truffleCommon} ${eclipse} ${jdt} {
environment: {DISABLE_DSL_STATE_BITS_TESTS: "true"},
run : [["mx", "--strict-compliance", "gate", "--strict-mode"]],
targets : [gate],
name: "gate-truffle-oraclejdk-17"},
${linux-amd64} ${oraclejdk8} ${truffleCommon} {
run : [
["mx", "build"],
["mx", "javadoc"],
],
targets : [gate],
name: "gate-truffle-javadoc"
},
${linux-amd64} ${oraclejdk8} ${truffleCommon} {
run : [
["mx", "build", "-n", "-c", "-A-Atruffle.dsl.GenerateSlowPathOnly=true"],
# only those tests excercise meaningfully implemented nodes
# e.g. com.oracle.truffle.api.dsl.test uses nodes that intentionally produce
# different results from fast/slow path specializations to test their activation
["mx", "unittest", "com.oracle.truffle.api.test.polyglot", "com.oracle.truffle.nfi.test"],
],
targets : [gate],
name: "gate-truffle-slow-path-unittests"
}
${darwin-amd64} ${oraclejdk8} ${gateLite} ${truffleWeekly} {
name: "gate-truffle-mac-lite-8"
},
${darwin-amd64} ${oraclejdk11} ${gateLite} ${truffleWeekly} {
name: "gate-truffle-mac-lite-oraclejdk-11"
},
${darwin-amd64} ${oraclejdk17} ${gateLite} ${truffleWeekly} {
name: "gate-truffle-mac-lite-oraclejdk-17"
},
${windows-amd64} ${oraclejdk8} ${truffleCommon} ${devkits.windows-oraclejdk8} {
# TODO make that a full gate run
# currently, some truffle unittests fail on windows
run : [
["mx", "build" ],
["mx", "unittest", "--verbose" ]
]
targets : [gate],
name: "gate-truffle-nfi-windows-8",
},
# BENCHMARKS
${benchWeekly} ${truffle-bench-notifications} {
run: [
["mx", "--kill-with-sigquit", "benchmark", "--results-file", "${BENCH_RESULTS_FILE_PATH}", "truffle:*", "--", "--", "com.oracle.truffle"]
],
name: "bench-truffle-jmh"
},
${benchCommon} {
run: [
["mx", "benchmark", "truffle:*", "--", "--jvm", "server", "--jvm-config", "graal-core", "--", "com.oracle.truffle", "-f", "1", "-wi", "1", "-w", "1", "-i", "1", "-r", "1"]
],
targets: [gate],
name: "gate-truffle-test-benchmarks-8"
}
${linux-amd64} ${oraclejdk8} ${truffleCommon} ${eclipse} ${jdt} {run : [
["mx", "--strict-compliance", "gate", "--strict-mode", "--jacocout", "html"],
[mx, coverage-upload]
], targets : [weekly], name: "weekly-truffle-coverage-8-linux-amd64"},
]