1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/wercker.yml
k0kubun 4eda7e1d14 Stop sharding --jit-wait testing
by just randomizing test order.

The original motivation to shard --jit-wait tests was forcing to test
major parts of code without actually stopping to test MJIT after
TracePoint enablement. But it tends to increase the test time because we
often compile the same thing in different shards.

I made this decision because we seem to hit 1.5h timeout of Wercker
these days, and Wercker is really bad at handling timeout (it does not
report timeout as failure, but just keeps it "pending" state)
https://app.wercker.com/ruby/ruby/runs/mjit-test2/5c78f15cc9e725000805b86c?step=5c79031d6c1e2c0008ac41c3

By randomizing this, we could test things randomly. The downside of this
approach is that we may not be able to find a specific commit that
caused a future failure by having TracePoint in a very early phase.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-03-01 14:09:41 +00:00

83 lines
3.3 KiB
YAML

#
# Wercker is dedicated for testing MJIT. Please use Travis or AppVeyor for non-MJIT testing.
# This runs all Ruby tests with --jit, or --jit-wait which synchronously JITs all methods.
#
box: ruby:2.5-stretch
no-response-timeout: 30
command-timeout: 60
# --jit + --jit-wait (test, test-spec)
mjit-test1:
steps:
- install-packages:
packages: bison sudo
- script:
name: workaround ipv6 localhost
code: ruby -e "hosts = File.read('/etc/hosts').sub(/^::1\s*localhost.*$/, ''); File.write('/etc/hosts', hosts)"
- script:
name: create user # some file permission tests don't succeed with root.
code: useradd --shell /bin/bash --create-home test && chown -R test:test .
- script:
name: configure
code: /usr/bin/sudo -H -u test -- bash -c 'autoconf && ./configure --disable-install-doc --prefix=/tmp/ruby-prefix'
- script:
name: make all install
code: /usr/bin/sudo -H -u test -- make -j$(nproc) all install
# --jit
- script:
name: make test (JIT)
code: /usr/bin/sudo -H -u test -- make test RUN_OPTS="--disable-gems --jit --jit-warnings"
- script:
name: make test-spec (JIT)
code: /usr/bin/sudo -H -u test -- make test-spec RUN_OPTS="--disable-gems --jit --jit-warnings"
- script:
name: make test-all (JIT)
code: /usr/bin/sudo -H -u test -- make test-all RUN_OPTS="--disable-gems --jit --jit-warnings" TESTOPTS="-v --color=never --job-status=normal --longest 10 --subprocess-timeout-scale=3.0 --excludes=test/excludes/_wercker/jit"
# --jit-wait (test, test-spec)
- script:
name: make test (JIT wait)
code: /usr/bin/sudo -H -u test -- make test RUN_OPTS="--disable-gems --jit-wait --jit-warnings"
- script:
name: make test-spec (JIT wait)
code: /usr/bin/sudo -H -u test -- make test-spec RUN_OPTS="--disable-gems --jit-wait --jit-warnings"
after-steps:
- wantedly/pretty-slack-notify:
webhook_url: $SLACK_WEBHOOK_URL
username: Wercker mjit-test1
channel: alerts
notify_on: "failed"
branches: ^trunk$
# --jit-wait (test-all)
mjit-test2:
steps:
- install-packages:
packages: bison sudo
- script:
name: workaround ipv6 localhost
code: ruby -e "hosts = File.read('/etc/hosts').sub(/^::1\s*localhost.*$/, ''); File.write('/etc/hosts', hosts)"
- script:
name: create user # some file permission tests don't succeed with root.
code: useradd --shell /bin/bash --create-home test && chown -R test:test .
- script:
name: configure
code: /usr/bin/sudo -H -u test -- bash -c 'autoconf && ./configure --disable-install-doc --prefix=/tmp/ruby-prefix'
- script:
name: make all install
code: /usr/bin/sudo -H -u test -- make -j$(nproc) all install
# --jit-wait (test-all)
- script:
name: make test-all (JIT wait)
code: /usr/bin/sudo -H -u test -- make test-all RUN_OPTS="--disable-gems --jit-wait --jit-warnings" TESTOPTS="--test-order=random --color=never --job-status=normal --subprocess-timeout-scale=3.0 --excludes=test/excludes/_wercker/jit-wait"
after-steps:
- wantedly/pretty-slack-notify:
webhook_url: $SLACK_WEBHOOK_URL
username: Wercker mjit-test2
channel: alerts
notify_on: "failed"
branches: ^trunk$