Skip to content

Concurrency

Concurrency #6480

Workflow file for this run

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