name: Ruby on: push: branches: ["main"] pull_request: branches: ["main"] permissions: contents: read jobs: ruby-versions: uses: ruby/actions/.github/workflows/ruby_versions.yml@3fbf038d6f0d8043b914f923764c61bc2a114a77 with: engine: all min_version: 3.1 test: needs: ruby-versions runs-on: ubuntu-latest continue-on-error: ${{ contains(matrix.ruby-version, 'jruby') }} strategy: fail-fast: false matrix: ruby-version: ${{ fromJson(needs.ruby-versions.outputs.versions) }} exclude: - ruby-version: jruby-head steps: - uses: actions/checkout@v3 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby-version }} bundler-cache: true # runs 'bundle install' and caches installed gems automatically bundler-args: --without development - name: Quickdraw tests run: bundle exec qt -t 1 "./test/**/*.test.rb" allocations_test: runs-on: ubuntu-latest strategy: fail-fast: false matrix: ruby-version: ["3.2", "3.3", "3.4", "head", "truffleruby", "truffleruby-head"] steps: - uses: actions/checkout@v3 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby-version }} bundler-cache: true # runs 'bundle install' and caches installed gems automatically bundler-args: --without development - name: Test allocations run: bundle exec ./allocations_test.rb rubocop: runs-on: ubuntu-latest strategy: matrix: ruby-version: ["3.4"] steps: - uses: actions/checkout@v3 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby-version }} bundler-cache: true - name: Run RuboCop run: bundle exec rubocop