forked from petermz/graal
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ci.hocon
202 lines (178 loc) · 7.6 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
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
sulong-common: ${common} ${oraclejdk8} {
environment: {
TRUFFLE_STRICT_OPTION_DEPRECATION: "true"
}
setup: [
[cd, "./sulong"]
]
}
sulong-gateCommon: ${sulong-common} {
targets: [gate]
}
sulong-gateStyle: ${sulong-gateCommon} ${linux-amd64} ${eclipse} ${sulong.deps.linux} {
packages: {
ruby: "==2.1.0" # for mdl
}
}
sulong-gateTest-linux: ${sulong-gateCommon} ${linux-amd64} ${sulong.deps.linux} {
downloads: {
LIBGMP: {name: libgmp, version: "6.1.0", platformspecific: true}
}
environment: {
CPPFLAGS: "-g -I$LIBGMP/include"
LD_LIBRARY_PATH: "$LIBGMP/lib:$LD_LIBRARY_PATH"
LDFLAGS: "-L$LIBGMP/lib"
}
}
sulong-gateTest-darwin: ${sulong-gateCommon} ${darwin-amd64} ${sulong.deps.darwin}
sulong-gateTest-default-tools {
environment: {
CLANG_LLVM_AS: "llvm-as"
CLANG_LLVM_LINK: "llvm-link"
CLANG_LLVM_DIS: "llvm-dis"
CLANG_LLVM_OPT: "opt"
}
}
sulong-gateTest38-linux: ${sulong-gateTest-linux} ${sulong-gateTest-default-tools} {
packages: {
llvm: "==3.8"
}
environment: {
NO_FEMBED_BITCODE: "true"
CLANG_CC: "clang-3.8"
CLANG_CXX: "clang-3.8 --driver-mode=g++"
CLANG_LLVM_OBJCOPY: "objcopy"
CLANG_NO_OPTNONE: "1"
CFLAGS: "-Wno-error"
}
}
sulong-gateTest40-linux: ${sulong-gateTest-linux} ${sulong-gateTest-default-tools} {
packages: {
llvm: "==4.0.1"
}
environment: {
CLANG_CC: "clang-4.0"
CLANG_CXX: "clang-4.0 --driver-mode=g++"
CLANG_LLVM_OBJCOPY: "objcopy"
CLANG_NO_OPTNONE: "1"
CFLAGS: "-Wno-error"
}
}
sulong-gateTest60-linux: ${sulong-gateTest-linux} ${sulong-gateTest-default-tools} {
packages: {
llvm: "==6.0.1"
}
environment: {
CLANG_CC: "clang-6.0"
CLANG_CXX: "clang-6.0 --driver-mode=g++"
CFLAGS: "-Wno-error"
}
}
sulong-gateTest80-linux: ${sulong-gateTest-linux} ${sulong-gateTest-default-tools} {
packages: {
llvm: "==8.0.0"
}
environment: {
CLANG_CC: "clang-8"
CLANG_CXX: "clang-8 --driver-mode=g++"
CFLAGS: "-Wno-error"
}
}
sulong-gateTestLLVMorg-linux: ${sulong-gateTest-linux} {
# nothing to do
}
sulong-gateTest40-darwin: ${sulong-gateTest-darwin} ${sulong-gateTest-default-tools} {
packages: {
llvm: "==4.0.1"
}
environment: {
CPPFLAGS: "-g"
CLANG_CC: "clang-4.0"
CLANG_CXX: "clang-4.0 --driver-mode=g++"
CLANG_NO_OPTNONE: "1"
}
timelimit: "0:45:00"
}
sulong-gateTestLLVMorg-darwin: ${sulong-gateTest-darwin} {
# nothing to do
environment: {
LD_LIBRARY_PATH: "$BUILD_DIR/main/sulong/mxbuild/darwin-amd64/SULONG_LLVM_ORG/lib:$LD_LIBRARY_PATH"
}
timelimit: "0:45:00"
}
requireGCC: {
packages: {
gcc: "==6.1.0"
}
downloads: {
DRAGONEGG_GCC: {name: "gcc+dragonegg", version: "4.6.4-1", platformspecific: true}
DRAGONEGG_LLVM: {name: "clang+llvm", version: "3.2", platformspecific: true}
}
}
sulong-ruby-downstream-test: {
packages: {
ruby: "==2.6.3"
}
run: [
[mx, testdownstream, --repo, "https://github.com/graalvm/truffleruby.git",
--mx-command, "--dynamicimports /sulong ruby_testdownstream_sulong"]
]
timelimit: "45:00"
}
sulong-gate-generated-sources: ${sulong-gateCommon} ${linux-amd64} {
run: [
["mx", "build", "--dependencies", "LLVM_TOOLCHAIN"]
["mx", "create-generated-sources"]
["git", "diff", "--exit-code", "."]
]
}
sulong-coverage-linux: ${sulong-gateTestLLVMorg-linux} ${requireGCC} ${sulong-weekly-notifications} {
run: [
[mx, --jacoco-whitelist-package, com.oracle.truffle.llvm, --jacoco-exclude-annotation, "@GeneratedBy", gate, --tags, "build,sulongCoverage", --jacocout, html]
[mx, --jacoco-whitelist-package, com.oracle.truffle.llvm, --jacoco-exclude-annotation, "@GeneratedBy", sonarqube-upload, "-Dsonar.host.url=$SONAR_HOST_URL", "-Dsonar.projectKey=com.oracle.graalvm.sulong", "-Dsonar.projectName=GraalVM - Sulong", --exclude-generated]
[mx, --jacoco-whitelist-package, com.oracle.truffle.llvm, --jacoco-exclude-annotation, "@GeneratedBy", coverage-upload]
]
targets: [weekly]
timelimit: "1:45:00"
}
sulong-labsjdk-ce-11-only: ${labsjdk-ce-11} {
downloads: {
"EXTRA_JAVA_HOMES": {"pathlist": []}
}
}
sulong-test-toolchain: [
[mx, build, --dependencies, "SULONG_TEST"]
[mx, unittest, --verbose, "-Dsulongtest.toolchainPathPattern=SULONG_BOOTSTRAP_TOOLCHAIN", ToolchainAPITest]
[mx, --env, toolchain-only, build]
[set-export, SULONG_BOOTSTRAP_GRAALVM, [mx, --env, toolchain-only, graalvm-home]]
[mx, unittest, --verbose, "-Dsulongtest.toolchainPathPattern=GRAALVM_TOOLCHAIN_ONLY", ToolchainAPITest]
]
builds += [
${sulong-gateStyle} { name: gate-sulong-style, run: [[mx, gate, --tags, "style"]] }
${sulong-gateStyle} ${jdt} { name: gate-sulong-fullbuild, run: [[mx, gate, --tags, "fullbuild"]] }
${sulong-gate-generated-sources} { name: gate-sulong-generated-sources }
${sulong-gateTestLLVMorg-linux} ${requireGCC} { name: gate-sulong-misc, run: [
[mx, gate, --tags, "build,sulongMisc"]
] ${sulong-test-toolchain} }
${sulong-gateTestLLVMorg-linux} ${requireGCC} { name: gate-sulong-parser, run: [[mx, gate, --tags, "build,parser"]] }
${sulong-gateTestLLVMorg-linux} { name: gate-sulong-gcc_c, run: [[mx, gate, --tags, "build,gcc_c"]], timelimit: "45:00" }
${sulong-gateTestLLVMorg-linux} { name: gate-sulong-gcc_cpp, run: [[mx, gate, --tags, "build,gcc_cpp"]], timelimit: "45:00" }
${sulong-gateTestLLVMorg-linux} ${requireGCC} { name: gate-sulong-gcc_fortran, run: [[mx, gate, --tags, "build,gcc_fortran"]] }
# No more testing on llvm 3.8 [GR-21735]
# ${sulong-gateTest38-linux} ${requireGCC} { name: gate-sulong-basic_v38, run: [[mx, gate, --tags, "build,sulongBasic,nwcc,llvm"]] }
${sulong-gateTest40-linux} ${requireGCC} { name: gate-sulong-basic_v40, run: [[mx, gate, --tags, "build,sulongBasic,nwcc,llvm"]] }
${sulong-gateTest60-linux} ${requireGCC} { name: gate-sulong-basic_v60, run: [[mx, gate, --tags, "build,sulongBasic,nwcc,llvm"]] }
${sulong-gateTest80-linux} ${requireGCC} { name: gate-sulong-basic_v80, run: [[mx, gate, --tags, "build,sulongBasic,nwcc,llvm"]] }
${sulong-gateTestLLVMorg-linux} ${requireGCC} { name: gate-sulong-basic_bundled-llvm, run: [[mx, gate, --tags, "build,sulongBasic,sulongLL,nwcc,llvm,toolchain"]] }
${sulong-gateTest40-darwin} { name: gate-sulong-basic_mac, run: [[mx, gate, --tags, "build,sulongBasic,nwcc,llvm,toolchain"]] }
${sulong-gateTestLLVMorg-darwin} { name: gate-sulong-basic_bundled-llvm_mac, run: [[mx, gate, --tags, "build,sulongBasic,sulongLL,nwcc,llvm,toolchain"]] }
${sulong-gateTestLLVMorg-linux} ${sulong-ruby-downstream-test} { name: gate-sulong-ruby-downstream }
${sulong-gateTestLLVMorg-linux} ${sulong-labsjdk-ce-11-only} ${linux-aarch64} { name: gate-sulong_bundled-llvm-linux-aarch64, run: [[mx, gate, --tags, "build,sulong,sulongLL,interop,linker,debug,irdebug,bitcodeFormat,otherTests,llvm"]] }
${sulong-gateTestLLVMorg-linux} ${sulong-labsjdk-ce-11-only} { name: gate-sulong-build_bundled-llvm-linux-amd64-labsjdk-ce-11, run: [
[mx, gate, --tags, "build"]
] ${sulong-test-toolchain} }
${sulong-gateTestLLVMorg-linux} { name: gate-sulong-strict-native-image, run: [
[mx, --dynamicimports, "/substratevm,/tools", "--native-images=lli", "--extra-image-builder-argument=-H:+TruffleCheckBlackListedMethods", "--extra-image-builder-argument=-H:+RemoveSaturatedTypeFlows", gate, --tags, "build"]
] }
${sulong-coverage-linux} { name: weekly-sulong-coverage }
]