Skip to content

Commit d190721

Browse files
authored
Streamline CI configuration (#2041)
* streamline ci jobs In our experience, it's not been useful to have so many permutations of rails/ruby/etc tested in CI. Let's pare things down to a few representative combinations <3 https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs * use ruby 3.3 for benchmark job * use ruby 3.3 for coverage job
1 parent cc40fb8 commit d190721

File tree

1 file changed

+17
-48
lines changed

1 file changed

+17
-48
lines changed

.github/workflows/ci.yml

Lines changed: 17 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ jobs:
1414
- name: Setup Ruby
1515
uses: ruby/setup-ruby@v1
1616
with:
17-
ruby-version: 2.7
17+
ruby-version: 3.3
1818
- uses: actions/cache@v4
1919
with:
2020
path: vendor/bundle
21-
key: gems-build-rails-main-ruby-2.7-${{ hashFiles('**/Gemfile.lock') }}
21+
key: gems-build-rails-main-ruby-3.3-${{ hashFiles('**/Gemfile.lock') }}
2222
- name: Run benchmarks
2323
run: |
2424
bundle config path vendor/bundle
@@ -31,12 +31,7 @@ jobs:
3131
strategy:
3232
fail-fast: false
3333
matrix:
34-
rails_version: ["6.1", "7.0", "7.1", "main"]
35-
ruby_version: ["3.1", "3.2", "3.3", "head"]
36-
mode: ["capture_patch_enabled", "capture_patch_disabled"]
37-
yjit_mode: ['1', '0']
3834
include:
39-
# Run against all previously supported Rails versions for Ruby 3.0
4035
- ruby_version: "3.0"
4136
rails_version: "6.1"
4237
mode: "capture_patch_enabled"
@@ -45,64 +40,38 @@ jobs:
4540
rails_version: "6.1"
4641
mode: "capture_patch_disabled"
4742
yjit_mode: '0'
48-
- ruby_version: "3.0"
43+
- ruby_version: "3.1"
4944
rails_version: "7.0"
5045
mode: "capture_patch_enabled"
51-
yjit_mode: '0'
52-
- ruby_version: "3.0"
46+
yjit_mode: '1'
47+
- ruby_version: "3.1"
5348
rails_version: "7.0"
5449
mode: "capture_patch_disabled"
5550
yjit_mode: '0'
56-
- ruby_version: "3.0"
51+
- ruby_version: "3.2"
5752
rails_version: "7.1"
5853
mode: "capture_patch_enabled"
5954
yjit_mode: '0'
60-
- ruby_version: "3.0"
55+
- ruby_version: "3.2"
6156
rails_version: "7.1"
6257
mode: "capture_patch_disabled"
63-
yjit_mode: '0'
64-
exclude:
65-
# Dont run YJIT and Ruby head against Rails 6.1
66-
- rails_version: "6.1"
67-
ruby_version: "3.1"
68-
mode: "capture_patch_enabled"
69-
yjit_mode: '1'
70-
- rails_version: "6.1"
71-
ruby_version: "3.1"
72-
mode: "capture_patch_disabled"
7358
yjit_mode: '1'
74-
- rails_version: "6.1"
75-
ruby_version: "3.2"
59+
- ruby_version: "3.3"
60+
rails_version: "7.1"
7661
mode: "capture_patch_enabled"
7762
yjit_mode: '1'
78-
- rails_version: "6.1"
79-
ruby_version: "3.2"
63+
- ruby_version: "3.3"
64+
rails_version: "7.1"
8065
mode: "capture_patch_disabled"
8166
yjit_mode: '1'
82-
- rails_version: "6.1"
83-
ruby_version: "3.3"
84-
mode: "capture_patch_enabled"
85-
yjit_mode: '1'
86-
- rails_version: "6.1"
87-
ruby_version: "3.3"
67+
- ruby_version: "head"
68+
rails_version: "main"
8869
mode: "capture_patch_disabled"
8970
yjit_mode: '1'
90-
- rails_version: "6.1"
91-
ruby_version: "head"
92-
mode: "capture_patch_enabled"
93-
yjit_mode: '1'
94-
- rails_version: "6.1"
95-
ruby_version: "head"
71+
- ruby_version: "head"
72+
rails_version: "main"
9673
mode: "capture_patch_enabled"
97-
yjit_mode: '0'
98-
- rails_version: "6.1"
99-
ruby_version: "head"
100-
mode: "capture_patch_disabled"
10174
yjit_mode: '1'
102-
- rails_version: "6.1"
103-
ruby_version: "head"
104-
mode: "capture_patch_disabled"
105-
yjit_mode: '0'
10675
env:
10776
BUNDLE_GEMFILE: gemfiles/rails_${{ matrix.rails_version }}.gemfile
10877
steps:
@@ -174,13 +143,13 @@ jobs:
174143
- name: Setup Ruby
175144
uses: ruby/setup-ruby@v1
176145
with:
177-
ruby-version: 2.7
146+
ruby-version: 3.3
178147
- name: Download coverage results
179148
uses: actions/download-artifact@v3
180149
- uses: actions/cache@v4
181150
with:
182151
path: vendor/bundle
183-
key: gems-build-rails-main-ruby-2.7-${{ hashFiles('**/Gemfile.lock') }}
152+
key: gems-build-rails-main-ruby-3.3-${{ hashFiles('**/Gemfile.lock') }}
184153
- name: Collate simplecov
185154
run: |
186155
bundle config path vendor/bundle

0 commit comments

Comments
 (0)