Skip to content

Commit a99a5e7

Browse files
committed
Use matrix to run all test combinations
Test all active verions combinations and inactive Rails versions with Ruby minimum version.
1 parent 10f080e commit a99a5e7

File tree

1 file changed

+26
-119
lines changed

1 file changed

+26
-119
lines changed

.github/workflows/ci.yml

Lines changed: 26 additions & 119 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,31 @@ permissions:
66
contents: read
77

88
jobs:
9-
rails-8_1:
10-
name: Rails 8.1
9+
test:
10+
name: Test with Rails ${{matrix.rails}} and Ruby ${{matrix.ruby}}
1111
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
include:
15+
# Test all active versions combinations
16+
# and inactive Rails versions with minimum Ruby version.
17+
- {rails: "8.1", ruby: "3.4"}
18+
- {rails: "8.1", ruby: "3.3"}
19+
- {rails: "8.1", ruby: "3.2"}
20+
21+
- {rails: "8.0", ruby: "3.4"}
22+
- {rails: "8.0", ruby: "3.3"}
23+
- {rails: "8.0", ruby: "3.2"}
24+
25+
- {rails: "7.2", ruby: "3.4"}
26+
- {rails: "7.2", ruby: "3.3"}
27+
- {rails: "7.2", ruby: "3.2"}
28+
- {rails: "7.2", ruby: "3.1"}
29+
30+
- {rails: "7.1", ruby: "2.7"}
31+
- {rails: "7.0", ruby: "2.7"}
32+
- {rails: "6.1", ruby: "2.5"}
33+
- {rails: "6.0", ruby: "2.5"}
1234
steps:
1335
- uses: actions/checkout@v4
1436

@@ -21,125 +43,10 @@ jobs:
2143
- name: Setup Ruby ${{matrix.ruby}}
2244
uses: ruby/setup-ruby@v1
2345
with:
24-
ruby-version: 3.2
46+
ruby-version: ${{matrix.ruby}}
2547
bundler-cache: true
2648

2749
- name: rake test
2850
run: bundle install && bundle exec rake
2951
env:
30-
BUNDLE_GEMFILE: gemfiles/rails-8.1.gemfile
31-
32-
rails-8_0:
33-
name: Rails 8.0
34-
runs-on: ubuntu-latest
35-
steps:
36-
- uses: actions/checkout@v4
37-
38-
- name: Start Redis
39-
uses: supercharge/[email protected]
40-
41-
- name: Start MongoDB
42-
uses: supercharge/[email protected]
43-
44-
- name: Setup Ruby ${{matrix.ruby}}
45-
uses: ruby/setup-ruby@v1
46-
with:
47-
ruby-version: 3.2
48-
bundler-cache: true
49-
50-
- name: rake test
51-
run: bundle install && bundle exec rake
52-
env:
53-
BUNDLE_GEMFILE: gemfiles/rails-8.0.gemfile
54-
55-
rails-7_1:
56-
name: Rails 7.1
57-
runs-on: ubuntu-latest
58-
steps:
59-
- uses: actions/checkout@v4
60-
61-
- name: Start Redis
62-
uses: supercharge/[email protected]
63-
64-
- name: Start MongoDB
65-
uses: supercharge/[email protected]
66-
67-
- name: Setup Ruby ${{matrix.ruby}}
68-
uses: ruby/setup-ruby@v1
69-
with:
70-
ruby-version: 3.1
71-
bundler-cache: true
72-
73-
- name: rake test
74-
run: bundle install && bundle exec rake
75-
env:
76-
BUNDLE_GEMFILE: gemfiles/rails-7.1.gemfile
77-
78-
rails-7_0:
79-
name: Rails 7.0
80-
runs-on: ubuntu-latest
81-
steps:
82-
- uses: actions/checkout@v4
83-
84-
- name: Start Redis
85-
uses: supercharge/[email protected]
86-
87-
- name: Start MongoDB
88-
uses: supercharge/[email protected]
89-
90-
- name: Setup Ruby ${{matrix.ruby}}
91-
uses: ruby/setup-ruby@v1
92-
with:
93-
ruby-version: 2.7
94-
bundler-cache: true
95-
96-
- name: rake test
97-
run: bundle install && bundle exec rake
98-
env:
99-
BUNDLE_GEMFILE: gemfiles/rails-7.0.gemfile
100-
101-
rails-6_1:
102-
name: Rails 6.1
103-
runs-on: ubuntu-latest
104-
steps:
105-
- uses: actions/checkout@v4
106-
107-
- name: Start Redis
108-
uses: supercharge/[email protected]
109-
110-
- name: Start MongoDB
111-
uses: supercharge/[email protected]
112-
113-
- name: Setup Ruby ${{matrix.ruby}}
114-
uses: ruby/setup-ruby@v1
115-
with:
116-
ruby-version: 2.5
117-
bundler-cache: true
118-
119-
- name: rake test
120-
run: bundle install && bundle exec rake
121-
env:
122-
BUNDLE_GEMFILE: gemfiles/rails-6.1.gemfile
123-
124-
rails-6_0:
125-
name: Rails 6.0
126-
runs-on: ubuntu-latest
127-
steps:
128-
- uses: actions/checkout@v4
129-
130-
- name: Start Redis
131-
uses: supercharge/[email protected]
132-
133-
- name: Start MongoDB
134-
uses: supercharge/[email protected]
135-
136-
- name: Setup Ruby ${{matrix.ruby}}
137-
uses: ruby/setup-ruby@v1
138-
with:
139-
ruby-version: 2.5
140-
bundler-cache: true
141-
142-
- name: rake test
143-
run: bundle install && bundle exec rake
144-
env:
145-
BUNDLE_GEMFILE: gemfiles/rails-6.0.gemfile
52+
BUNDLE_GEMFILE: gemfiles/rails-${{matrix.rails}}.gemfile

0 commit comments

Comments
 (0)