Skip to content

Commit

Permalink
Showing 1 changed file with 8 additions and 377 deletions.
385 changes: 8 additions & 377 deletions ci.hocon
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
// Must be the same as in truffle/pom.rb and mx.jruby/suite.py
truffle-version: 60fde6f5778d478411632077154bea1679839780

jt: [ruby, tool/jt.rb]

common: {
@@ -27,119 +24,9 @@ common: {
timelimit: "01:00:00"
}

no-graal: {
environment: {
HOST_VM: server,
HOST_VM_CONFIG: default,
MX_NO_GRAAL: "true"
}
}

labsjdk: {
downloads: {
JAVA_HOME: {
name: labsjdk,
version: "8u92-jvmci-0.20",
platformspecific: true
}
}
}

// Allow a version mismatch with truffle to prefer the language truffle version
clone_graal: [mx, --version-conflict-resolution, ignore, sclone, --kind, git]

// Use Truffle version of the language
use-language-truffle: ["&&", git, fetch, "&&", git, reset, --hard, ${truffle-version}, "&&"]

graal-core: ${labsjdk} {
setup: ${common.setup} [
[mv, mx.jruby, temp_mx],
[mkdir, graal-workspace],
[cd, graal-workspace],
${clone_graal} ["https://github.com/graalvm/graal-core.git", graal-core],
[cd, graal-core],
[mx, sforceimports],
[cd, ../truffle] ${use-language-truffle} [cd, ../graal-core],
[mx, --java-home, "$JVMCI_JAVA_HOME", build],
[cd, ../..],
[mv, temp_mx, mx.jruby]
]

environment: {
GRAAL_HOME: graal-workspace/graal-core,
HOST_VM: server,
HOST_VM_CONFIG: graal-core
}
}

graal-enterprise: ${labsjdk} {
setup: ${common.setup} [
[mv, mx.jruby, temp_mx],
[mkdir, graal-workspace],
[cd, graal-workspace],
${clone_graal} ["https://github.com/graalvm/graal-enterprise.git", graal-enterprise],
[cd, graal-enterprise/graal-enterprise],
[mx, sforceimports],
[cd, ../../truffle] ${use-language-truffle} [cd, ../graal-enterprise/graal-enterprise],
[mx, --java-home, "$JVMCI_JAVA_HOME", build],
[cd, ../../..],
[mv, temp_mx, mx.jruby]
]

environment: {
GRAAL_HOME: graal-workspace/graal-enterprise/graal-enterprise,
HOST_VM: server,
HOST_VM_CONFIG: graal-enterprise
}
}

graal-enterprise-no-om: {
downloads: ${graal-enterprise.downloads}
setup: ${graal-enterprise.setup}

environment: {
GRAAL_HOME: graal-workspace/graal-enterprise/graal-enterprise,
HOST_VM: server,
HOST_VM_CONFIG: graal-enterprise-no-om,
JRUBY_OPTS: "-J-Dtruffle.object.LayoutFactory=com.oracle.truffle.object.basic.DefaultLayoutFactory"
}
}

sulong: ${labsjdk} {
packages: {
llvm: "==3.3"
}

environment: {
GRAAL_HOME: sulong-workspace/sulong,
SULONG_HOME: sulong-workspace/sulong,
SULONG_NO_LIBRARY: "true",
USE_SYSTEM_CLANG: "true",
LIBXML_LIB: "/usr/lib64/libxml2.so.2",
OPENSSL_LIB: "/usr/lib64/libssl.so.10",
HOST_VM: server,
HOST_VM_CONFIG: graal-core
}

setup: ${common.setup} [
[mv, mx.jruby, temp_mx],
[mkdir, sulong-workspace],
[cd, sulong-workspace],
[mx, sclone, --kind, git, "https://github.com/graalvm/sulong.git", sulong],
[cd, sulong],
[mx, sforceimports],
[mx, build],
[cd, ../..],
[mv, temp_mx, mx.jruby]
${jt} [build, cexts]
]
}

graal-vm: {
downloads: {
GRAALVM_DIR: {
// name: graalvm-snapshot,
// version: latest,
name: graalvm-release,
version: "0.16",
platformspecific: true
@@ -153,200 +40,35 @@ graal-vm: {
}
}

mri-benchmark: {
environment: {
HOST_VM: mri,
HOST_VM_CONFIG: default
GUEST_VM: mri,
GUEST_VM_CONFIG: default,
JT_BENCHMARK_RUBY: ruby
}
}

jruby-noindy-metrics: {
environment: {
GUEST_VM: jruby,
GUEST_VM_CONFIG: noindy,
JRUBY_OPTS: "-Xclassic -Xcompile.invokedynamic=false"
}
}

jruby-noindy-benchmark: {
environment: {
GUEST_VM: jruby,
GUEST_VM_CONFIG: noindy,
JRUBY_OPTS: "-Xclassic -X+C -Xcompile.invokedynamic=false"
}
}

jruby-indy-metrics: {
environment: {
GUEST_VM: jruby,
GUEST_VM_CONFIG: indy,
JRUBY_OPTS: "-Xclassic -Xcompile.invokedynamic=true"
}
}

jruby-indy-benchmark: {
environment: {
GUEST_VM: jruby,
GUEST_VM_CONFIG: indy,
JRUBY_OPTS: "-Xclassic -X+C -Xcompile.invokedynamic=true"
}
}

jruby-truffle: {
environment: {
GUEST_VM: jruby,
GUEST_VM_CONFIG: truffle,
}
}

gate-caps: {
capabilities: [linux, amd64]
targets: [gate, post-push]
}

bench-caps: {
capabilities: [x52, linux, amd64]
targets: [bench, post-push]
timelimit: "02:00:00"
}

daily-bench-caps: {
capabilities: [x52, linux]
targets: [daily]
timelimit: "02:00:00"
}

weekly-bench-caps: {
capabilities: [x52, linux]
targets: [weekly]
timelimit: "02:00:00"
}

post-process-and-upload-results: [
[tool/truffle/post-process-results-json.rb, bench-results.json, bench-results-processed.json],
[cat, bench-results-processed.json],
[bench-uploader.py, bench-results-processed.json]
]

metrics: {
run: [
[mx, benchmark, allocation]
] ${post-process-and-upload-results} [
[mx, benchmark, minheap]
] ${post-process-and-upload-results} [
[mx, benchmark, time]
] ${post-process-and-upload-results}
}

compiler-metrics: {
run: [
[mx, benchmark, "allocation:compile-mandelbrot"]
] ${post-process-and-upload-results} [
[mx, benchmark, "minheap:compile-mandelbrot"]
] ${post-process-and-upload-results} [
[mx, benchmark, "time:compile-mandelbrot"]
] ${post-process-and-upload-results}
}

setup-benchmarks: [
[mx, sclone, --kind, git, "https://github.com/jruby/benchmark-interface.git", benchmark-interface],
[mx, sclone, --kind, git, "https://github.com/jruby/all-ruby-benchmarks.git", all-ruby-benchmarks]
]

classic-benchmarks: {
run: ${setup-benchmarks} [
[mx, benchmark, classic]
] ${post-process-and-upload-results}
}

chunky-benchmarks: {
run: ${setup-benchmarks} [
[mx, benchmark, chunky]
] ${post-process-and-upload-results}
}

psd-benchmarks: {
run: ${setup-benchmarks} [
[mx, benchmark, psd]
] ${post-process-and-upload-results}
}

image-demo-benchmarks: {
run: ${setup-benchmarks} [
[mx, benchmark, image-demo]
] ${post-process-and-upload-results}
}

optcarrot-benchmarks: {
run: ${setup-benchmarks} [
[mx, benchmark, optcarrot]
] ${post-process-and-upload-results}
}

asciidoctor-benchmarks: {
run: ${setup-benchmarks} [
[mx, benchmark, asciidoctor]
] ${post-process-and-upload-results}
}

synthetic-benchmarks: {
run: ${setup-benchmarks} [
[mx, benchmark, synthetic]
] ${post-process-and-upload-results}
}

micro-benchmarks: {
run: ${setup-benchmarks} [
[mx, benchmark, micro]
] ${post-process-and-upload-results}
}

server-benchmarks: {
packages: {
"apache/ab": ">=2.3"
}

run: ${setup-benchmarks} [
[mx, benchmark, server]
] ${post-process-and-upload-results}
}

gem-test-pack: {
environment: {
GEM_HOME: ../jruby-truffle-gem-test-pack/gems
}

setup: [
[mx, sclone, --kind, git, "https://github.com/jruby/jruby-truffle-gem-test-pack.git", ../jruby-truffle-gem-test-pack]
]
}

test-gems: ${gem-test-pack} {
test-gems: {
environment: {
GEM_HOME: ../jruby-truffle-gem-test-pack/gems
}

setup: ${common.setup} ${gem-test-pack.setup}

run: [
${jt} [test, gems]
]
}

test-ecosystem: ${gem-test-pack} {
test-ecosystem: {
setup: ${common.setup} ${gem-test-pack.setup}

run: [
[bin/jruby, bin/gem, install, "$GEM_HOME/cache/bundler-1.12.5.gem"],
${jt} [test, ecosystem]
]
}

test-cexts: ${sulong} ${gem-test-pack} {
setup: ${sulong.setup} ${gem-test-pack.setup}

run: [
${jt} [test, specs, --graal, ":capi"],
${jt} [test, cexts]
[bin/jruby, bin/gem, install, ../jruby-truffle-gem-test-pack/gems/cache/bundler-1.12.5.gem],
${jt} [test, ecosystem]
]
}

@@ -359,100 +81,9 @@ builds: [
{name: ruby-test-specs-library} ${common} ${gate-caps} {run: [${jt} [test, specs, ":library"]]},
{name: ruby-test-specs-truffle} ${common} ${gate-caps} {run: [${jt} [test, specs, ":truffle"]]},
{name: ruby-test-integration} ${common} ${gate-caps} {run: [${jt} [test, integration]]},
{name: ruby-test-cexts} ${common} ${gate-caps} ${test-cexts},
{name: ruby-test-gems} ${common} ${gate-caps} ${test-gems},
{name: ruby-test-ecosystem} ${common} ${gate-caps} ${test-ecosystem},
{name: ruby-test-tarball} ${common} ${gate-caps} {run: [${jt} [tarball]]},

{name: ruby-test-compiler-graal-core} ${common} ${graal-core} ${gate-caps} {run: [${jt} [test, compiler]]},
{name: ruby-test-compiler-graal-enterprise} ${common} ${graal-enterprise} ${gate-caps} {run: [${jt} [test, compiler]]},
{name: ruby-test-compiler-graal-vm} ${common} ${graal-vm} ${gate-caps} {run: [${jt} [test, compiler]]},

{name: ruby-metrics-noindy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-noindy-metrics} ${metrics},
{name: ruby-metrics-indy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-indy-metrics} ${metrics},
{name: ruby-metrics-truffle} ${common} ${no-graal} ${bench-caps} ${jruby-truffle} ${metrics},
{name: ruby-metrics-compiler-graal-core} ${common} ${graal-core} ${daily-bench-caps} ${jruby-truffle} ${compiler-metrics},
{name: ruby-metrics-compiler-graal-enterprise} ${common} ${graal-enterprise} ${daily-bench-caps} ${jruby-truffle} ${compiler-metrics},
{name: ruby-metrics-compiler-graal-enterprise-no-om} ${common} ${graal-enterprise-no-om} ${daily-bench-caps} ${jruby-truffle} ${compiler-metrics},
{name: ruby-metrics-compiler-graal-vm} ${common} ${graal-vm} ${bench-caps} ${jruby-truffle} ${compiler-metrics},

{name: ruby-benchmarks-classic-mri} ${common} ${weekly-bench-caps} ${mri-benchmark} ${classic-benchmarks},
{name: ruby-benchmarks-classic-noindy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-noindy-benchmark} ${classic-benchmarks},
{name: ruby-benchmarks-classic-indy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-indy-benchmark} ${classic-benchmarks},
{name: ruby-benchmarks-classic-no-graal} ${common} ${no-graal} ${weekly-bench-caps} ${jruby-truffle} ${classic-benchmarks},
{name: ruby-benchmarks-classic-graal-core} ${common} ${graal-core} ${daily-bench-caps} ${jruby-truffle} ${classic-benchmarks},
{name: ruby-benchmarks-classic-graal-enterprise} ${common} ${graal-enterprise} ${daily-bench-caps} ${jruby-truffle} ${classic-benchmarks},
{name: ruby-benchmarks-classic-graal-enterprise-no-om} ${common} ${graal-enterprise-no-om} ${daily-bench-caps} ${jruby-truffle} ${classic-benchmarks},
{name: ruby-benchmarks-classic-graal-vm} ${common} ${graal-vm} ${bench-caps} ${jruby-truffle} ${classic-benchmarks},

{name: ruby-benchmarks-chunky-mri} ${common} ${weekly-bench-caps} ${mri-benchmark} ${chunky-benchmarks},
{name: ruby-benchmarks-chunky-noindy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-noindy-benchmark} ${chunky-benchmarks},
{name: ruby-benchmarks-chunky-indy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-indy-benchmark} ${chunky-benchmarks},
{name: ruby-benchmarks-chunky-no-graal} ${common} ${no-graal} ${weekly-bench-caps} ${jruby-truffle} ${chunky-benchmarks},
{name: ruby-benchmarks-chunky-graal-core} ${common} ${graal-core} ${daily-bench-caps} ${jruby-truffle} ${chunky-benchmarks},
{name: ruby-benchmarks-chunky-graal-enterprise} ${common} ${graal-enterprise} ${daily-bench-caps} ${jruby-truffle} ${chunky-benchmarks},
{name: ruby-benchmarks-chunky-graal-enterprise-no-om} ${common} ${graal-enterprise-no-om} ${daily-bench-caps} ${jruby-truffle} ${chunky-benchmarks},
{name: ruby-benchmarks-chunky-graal-vm} ${common} ${graal-vm} ${bench-caps} ${jruby-truffle} ${chunky-benchmarks},

{name: ruby-benchmarks-psd-mri} ${common} ${weekly-bench-caps} ${mri-benchmark} ${psd-benchmarks},
{name: ruby-benchmarks-psd-noindy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-noindy-benchmark} ${psd-benchmarks},
{name: ruby-benchmarks-psd-indy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-indy-benchmark} ${psd-benchmarks},
{name: ruby-benchmarks-psd-no-graal} ${common} ${no-graal} ${weekly-bench-caps} ${jruby-truffle} ${psd-benchmarks},
{name: ruby-benchmarks-psd-graal-core} ${common} ${graal-core} ${daily-bench-caps} ${jruby-truffle} ${psd-benchmarks},
{name: ruby-benchmarks-psd-graal-enterprise} ${common} ${graal-enterprise} ${daily-bench-caps} ${jruby-truffle} ${psd-benchmarks},
{name: ruby-benchmarks-psd-graal-enterprise-no-om} ${common} ${graal-enterprise-no-om} ${daily-bench-caps} ${jruby-truffle} ${psd-benchmarks},
{name: ruby-benchmarks-psd-graal-vm} ${common} ${graal-vm} ${bench-caps} ${jruby-truffle} ${psd-benchmarks},

{name: ruby-benchmarks-image-demo-mri} ${common} ${weekly-bench-caps} ${mri-benchmark} ${image-demo-benchmarks},
{name: ruby-benchmarks-image-demo-noindy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-noindy-benchmark} ${image-demo-benchmarks},
{name: ruby-benchmarks-image-demo-indy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-indy-benchmark} ${image-demo-benchmarks},
{name: ruby-benchmarks-image-demo-no-graal} ${common} ${no-graal} ${weekly-bench-caps} ${jruby-truffle} ${image-demo-benchmarks},
{name: ruby-benchmarks-image-demo-graal-core} ${common} ${graal-core} ${daily-bench-caps} ${jruby-truffle} ${image-demo-benchmarks},
{name: ruby-benchmarks-image-demo-graal-enterprise} ${common} ${graal-enterprise} ${daily-bench-caps} ${jruby-truffle} ${image-demo-benchmarks},
{name: ruby-benchmarks-image-demo-graal-enterprise-no-om} ${common} ${graal-enterprise-no-om} ${daily-bench-caps} ${jruby-truffle} ${image-demo-benchmarks},
{name: ruby-benchmarks-image-demo-graal-vm} ${common} ${graal-vm} ${bench-caps} ${jruby-truffle} ${image-demo-benchmarks},

{name: ruby-benchmarks-asciidoctor-mri} ${common} ${weekly-bench-caps} ${mri-benchmark} ${asciidoctor-benchmarks},
{name: ruby-benchmarks-asciidoctor-noindy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-noindy-benchmark} ${asciidoctor-benchmarks},
{name: ruby-benchmarks-asciidoctor-indy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-indy-benchmark} ${asciidoctor-benchmarks},
{name: ruby-benchmarks-asciidoctor-no-graal} ${common} ${no-graal} ${weekly-bench-caps} ${jruby-truffle} ${asciidoctor-benchmarks},
{name: ruby-benchmarks-asciidoctor-graal-core} ${common} ${graal-core} ${daily-bench-caps} ${jruby-truffle} ${asciidoctor-benchmarks},
{name: ruby-benchmarks-asciidoctor-graal-enterprise} ${common} ${graal-enterprise} ${daily-bench-caps} ${jruby-truffle} ${asciidoctor-benchmarks},
{name: ruby-benchmarks-asciidoctor-graal-enterprise-no-om} ${common} ${graal-enterprise-no-om} ${daily-bench-caps} ${jruby-truffle} ${asciidoctor-benchmarks},
{name: ruby-benchmarks-asciidoctor-graal-vm} ${common} ${graal-vm} ${bench-caps} ${jruby-truffle} ${asciidoctor-benchmarks},

{name: ruby-benchmarks-optcarrot-mri} ${common} ${weekly-bench-caps} ${mri-benchmark} ${optcarrot-benchmarks},
{name: ruby-benchmarks-optcarrot-noindy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-noindy-benchmark} ${optcarrot-benchmarks},
{name: ruby-benchmarks-optcarrot-indy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-indy-benchmark} ${optcarrot-benchmarks},
{name: ruby-benchmarks-optcarrot-no-graal} ${common} ${no-graal} ${weekly-bench-caps} ${jruby-truffle} ${optcarrot-benchmarks},
{name: ruby-benchmarks-optcarrot-graal-core} ${common} ${graal-core} ${daily-bench-caps} ${jruby-truffle} ${optcarrot-benchmarks},
{name: ruby-benchmarks-optcarrot-graal-enterprise} ${common} ${graal-enterprise} ${daily-bench-caps} ${jruby-truffle} ${optcarrot-benchmarks},
{name: ruby-benchmarks-optcarrot-graal-enterprise-no-om} ${common} ${graal-enterprise-no-om} ${daily-bench-caps} ${jruby-truffle} ${optcarrot-benchmarks},
{name: ruby-benchmarks-optcarrot-graal-vm} ${common} ${graal-vm} ${bench-caps} ${jruby-truffle} ${optcarrot-benchmarks},

{name: ruby-benchmarks-synthetic-mri} ${common} ${weekly-bench-caps} ${mri-benchmark} ${synthetic-benchmarks},
{name: ruby-benchmarks-synthetic-noindy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-noindy-benchmark} ${synthetic-benchmarks},
{name: ruby-benchmarks-synthetic-indy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-indy-benchmark} ${synthetic-benchmarks},
{name: ruby-benchmarks-synthetic-no-graal} ${common} ${no-graal} ${weekly-bench-caps} ${jruby-truffle} ${synthetic-benchmarks},
{name: ruby-benchmarks-synthetic-graal-core} ${common} ${graal-core} ${daily-bench-caps} ${jruby-truffle} ${synthetic-benchmarks},
{name: ruby-benchmarks-synthetic-graal-enterprise} ${common} ${graal-enterprise} ${daily-bench-caps} ${jruby-truffle} ${synthetic-benchmarks},
{name: ruby-benchmarks-synthetic-graal-enterprise-no-om} ${common} ${graal-enterprise-no-om} ${daily-bench-caps} ${jruby-truffle} ${synthetic-benchmarks},
{name: ruby-benchmarks-synthetic-graal-vm} ${common} ${graal-vm} ${bench-caps} ${jruby-truffle} ${synthetic-benchmarks},

{name: ruby-benchmarks-micro-mri} ${common} ${weekly-bench-caps} ${mri-benchmark} ${micro-benchmarks},
{name: ruby-benchmarks-micro-noindy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-noindy-benchmark} ${micro-benchmarks},
{name: ruby-benchmarks-micro-indy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-indy-benchmark} ${micro-benchmarks},
{name: ruby-benchmarks-micro-no-graal} ${common} ${no-graal} ${weekly-bench-caps} ${jruby-truffle} ${micro-benchmarks},
{name: ruby-benchmarks-micro-graal-core} ${common} ${graal-core} ${daily-bench-caps} ${jruby-truffle} ${micro-benchmarks},
{name: ruby-benchmarks-micro-graal-enterprise} ${common} ${graal-enterprise} ${daily-bench-caps} ${jruby-truffle} ${micro-benchmarks},
{name: ruby-benchmarks-micro-graal-enterprise-no-om} ${common} ${graal-enterprise-no-om} ${daily-bench-caps} ${jruby-truffle} ${micro-benchmarks},
{name: ruby-benchmarks-micro-graal-vm} ${common} ${graal-vm} ${bench-caps} ${jruby-truffle} ${micro-benchmarks},

{name: ruby-benchmarks-server-noindy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-noindy-benchmark} ${server-benchmarks},
{name: ruby-benchmarks-server-indy} ${common} ${no-graal} ${daily-bench-caps} ${jruby-indy-benchmark} ${server-benchmarks},
{name: ruby-benchmarks-server-no-graal} ${common} ${no-graal} ${weekly-bench-caps} ${jruby-truffle} ${server-benchmarks},
{name: ruby-benchmarks-server-graal-core} ${common} ${graal-core} ${daily-bench-caps} ${jruby-truffle} ${server-benchmarks},
{name: ruby-benchmarks-server-graal-enterprise} ${common} ${graal-enterprise} ${daily-bench-caps} ${jruby-truffle} ${server-benchmarks},
{name: ruby-benchmarks-server-graal-enterprise-no-om} ${common} ${graal-enterprise-no-om} ${daily-bench-caps} ${jruby-truffle} ${server-benchmarks},
{name: ruby-benchmarks-server-graal-vm} ${common} ${graal-vm} ${bench-caps} ${jruby-truffle} ${server-benchmarks}
]

0 comments on commit 886cbe9

Please sign in to comment.