# # 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 test-mjit: 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 - 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-all (JIT) code: /usr/bin/sudo -H -u test -- make test-all RUN_OPTS="--disable-gems --jit --jit-warnings" TESTOPTS="--color=never --job-status=normal --longest 10 --subprocess-timeout-scale=3.0 --excludes=test/excludes/_wercker/test-mjit" - script: name: make test-spec (JIT) code: /usr/bin/sudo -H -u test -- make test-spec RUN_OPTS="--disable-gems --jit --jit-warnings" after-steps: - wantedly/pretty-slack-notify: webhook_url: $SLACK_WEBHOOK_URL username: Wercker test-mjit channel: alerts notify_on: "failed" branches: ^trunk$ test-mjit-wait: 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 - script: name: make test (JIT wait) code: /usr/bin/sudo -H -u test -- make test RUN_OPTS="--disable-gems --jit-wait --jit-warnings" # split test-all to 2 steps to loosen timeout - script: name: make test-all1 (JIT wait) # only: test/ruby/, test/testunit/, test/rubygems/, test/rss code: /usr/bin/sudo -H -u test -- make test-all RUN_OPTS="--disable-gems --jit-wait --jit-warnings" TESTS="test/ruby/ test/testunit/ test/rubygems/ test/rss/" TESTOPTS="--color=never --job-status=normal --longest 10 --subprocess-timeout-scale=3.0 --excludes=test/excludes/_wercker/test-mjit-wait" - script: # TODO: remove `--exclude test/webrick` once it's fixed https://app.wercker.com/ruby/ruby/runs/test-mjit-wait/5bd092a89b1e440006d5780d?step=5bd092e3591ca80007258400 name: make test-all2 (JIT wait) # except: test/ruby/, test/testunit/, test/rubygems/, test/rss code: /usr/bin/sudo -H -u test -- make test-all RUN_OPTS="--disable-gems --jit-wait --jit-warnings" TESTOPTS="--exclude test/ruby/ --exclude test/testunit/ --exclude test/rubygems/ --exclude test/rss/ --exclude test/webrick/ --color=never --job-status=normal --longest 10 --subprocess-timeout-scale=3.0 --excludes=test/excludes/_wercker/test-mjit-wait" - 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 test-mjit-wait channel: alerts notify_on: "failed" branches: ^trunk$