Concurrency #6480
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test YJIT | |
on: [push] | |
jobs: | |
test-yjit: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-latest | |
ruby: | |
- '3.2' | |
- '3.3' | |
- '3.4' | |
# ADD NEW RUBIES HERE | |
rubyopt: | |
- '--yjit' | |
- '--yjit --yjit-stats=quiet' | |
exclude: | |
# NOTE: `--yjit-stats=quiet` is only present in 3.3+. | |
# We've had `--yjit-stats` since 3.0, but | |
# 1) it dumps stat info to stdout, and | |
# 2) none of our <3.3 tests require the additional stats | |
- ruby: '3.2' | |
rubyopt: '--yjit --yjit-stats=quiet' | |
name: Test YJIT (${{ matrix.os }}, ${{ matrix.ruby }} ${{ matrix.rubyopt }}) | |
runs-on: ${{ matrix.os }} | |
env: | |
RUBYOPT: ${{ matrix.rubyopt }} | |
SKIP_SIMPLECOV: 1 | |
DD_INSTRUMENTATION_TELEMETRY_ENABLED: false | |
DD_REMOTE_CONFIGURATION_ENABLED: false | |
steps: | |
- uses: actions/checkout@v4 | |
# bundler appears to match both prerelease and release rubies when we | |
# want the former only. relax the constraint to allow any version for | |
# head rubies | |
- if: ${{ matrix.ruby == 'head' }} | |
run: sed -i~ -e '/spec\.required_ruby_version/d' datadog.gemspec | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby }} | |
bundler-cache: true # runs 'bundle install' and caches installed gems automatically | |
bundler: latest # needed to fix issue with steep on Ruby 3.0/3.1 | |
cache-version: v2 # bump this to invalidate cache | |
- run: bundle exec rake spec:yjit |