name: Test Debug

on: [push, pull_request]

permissions:
  contents: read

env:
  CONSOLE_OUTPUT: XTerm
  RUBY_DEBUG: true
  RUBY_SANITIZE: true
  ASAN_OPTIONS: halt_on_error=0:use_sigaltstack=0:detect_leaks=0

jobs:
  test:
    name: ${{matrix.ruby}} on ${{matrix.os}}
    runs-on: ${{matrix.os}}
    
    strategy:
      matrix:
        os:
          - ubuntu-24.04
        
        ruby:
          - asan
    
    steps:
    - uses: actions/checkout@v4
    - uses: ruby/setup-ruby@v1
      with:
        ruby-version: ${{matrix.ruby}}
        bundler-cache: true
    
    - name: Install packages (Ubuntu)
      if: matrix.os == 'ubuntu'
      run: sudo apt-get install -y liburing-dev
    
    - name: Run tests
      timeout-minutes: 10
      run: bundle exec bake build test
