Runtime assertions for Ruby
literal.fun
ruby
1name: Ruby
2
3on:
4 push:
5 branches: ["main"]
6 pull_request:
7 branches: ["main"]
8
9permissions:
10 contents: read
11
12jobs:
13 ruby-versions:
14 uses: ruby/actions/.github/workflows/ruby_versions.yml@3fbf038d6f0d8043b914f923764c61bc2a114a77
15 with:
16 engine: all
17 min_version: 3.1
18
19 test:
20 needs: ruby-versions
21 runs-on: ubuntu-latest
22 continue-on-error: ${{ contains(matrix.ruby-version, 'jruby') }}
23 strategy:
24 fail-fast: false
25 matrix:
26 ruby-version: ${{ fromJson(needs.ruby-versions.outputs.versions) }}
27 exclude:
28 - ruby-version: jruby-head
29 steps:
30 - uses: actions/checkout@v3
31 - name: Set up Ruby
32 uses: ruby/setup-ruby@v1
33 with:
34 ruby-version: ${{ matrix.ruby-version }}
35 bundler-cache: true # runs 'bundle install' and caches installed gems automatically
36 bundler-args: --without development
37 - name: Quickdraw tests
38 run: bundle exec qt -t 1 "./test/**/*.test.rb"
39 allocations_test:
40 runs-on: ubuntu-latest
41 strategy:
42 fail-fast: false
43 matrix:
44 ruby-version:
45 ["3.2", "3.3", "3.4", "head", "truffleruby", "truffleruby-head"]
46 steps:
47 - uses: actions/checkout@v3
48 - name: Set up Ruby
49 uses: ruby/setup-ruby@v1
50 with:
51 ruby-version: ${{ matrix.ruby-version }}
52 bundler-cache: true # runs 'bundle install' and caches installed gems automatically
53 bundler-args: --without development
54 - name: Test allocations
55 run: bundle exec ./allocations_test.rb
56 rubocop:
57 runs-on: ubuntu-latest
58 strategy:
59 matrix:
60 ruby-version: ["3.4"]
61 steps:
62 - uses: actions/checkout@v3
63 - name: Set up Ruby
64 uses: ruby/setup-ruby@v1
65 with:
66 ruby-version: ${{ matrix.ruby-version }}
67 bundler-cache: true
68 - name: Run RuboCop
69 run: bundle exec rubocop