Skip to content

Commit b058eea

Browse files
committed
Simplify the GitHub actions config using matrix
1 parent 44c6168 commit b058eea

19 files changed

+60
-1576
lines changed

.github/workflows/ci.yml

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,36 +6,37 @@ jobs:
66
fail-fast: false
77
matrix:
88
ruby-version:
9+
- "3.1"
910
- "3.2"
1011
- "3.3"
11-
gemfile:
12-
- Gemfile
13-
- gemfiles/rails_7_0_propshaft.gemfile
14-
- gemfiles/rails_7_1_propshaft.gemfile
15-
- gemfiles/rails_7_2_propshaft.gemfile
16-
- gemfiles/rails_8_0_propshaft.gemfile
17-
- gemfiles/rails_main_propshaft.gemfile
18-
- gemfiles/rails_6_1_sprockets.gemfile
19-
- gemfiles/rails_7_0_sprockets.gemfile
20-
- gemfiles/rails_7_1_sprockets.gemfile
21-
- gemfiles/rails_7_2_sprockets.gemfile
22-
- gemfiles/rails_8_0_sprockets.gemfile
23-
- gemfiles/rails_main_sprockets.gemfile
24-
include:
12+
- "3.4"
13+
rails-version:
14+
- "6.1"
15+
- "7.0"
16+
- "7.1"
17+
- "7.2"
18+
- "8.0"
19+
- "main"
20+
assets-pipeline:
21+
- sprockets
22+
- propshaft
23+
exclude:
24+
- rails-version: "6.1"
25+
assets-pipeline: "propshaft"
2526
- ruby-version: "3.1"
26-
gemfile: gemfiles/rails_7_0_propshaft.gemfile
27+
rails-version: "8.0"
2728
- ruby-version: "3.1"
28-
gemfile: gemfiles/rails_7_1_propshaft.gemfile
29-
- ruby-version: "3.1"
30-
gemfile: gemfiles/rails_7_0_sprockets.gemfile
31-
- ruby-version: "3.1"
32-
gemfile: gemfiles/rails_7_1_sprockets.gemfile
29+
rails-version: "main"
30+
- rails-version: "8.0"
31+
assets-pipeline: "sprockets"
32+
- rails-version: "main"
33+
assets-pipeline: "sprockets"
3334

34-
name: ${{ format('Tests (Ruby {0}, {1})', matrix.ruby-version, matrix.gemfile) }}
35+
name: ${{ format('Tests (Ruby {0}, Rails {1}, {2})', matrix.ruby-version, matrix.rails-version, matrix.assets-pipeline) }}
3536
runs-on: ubuntu-latest
3637

3738
env:
38-
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
39+
BUNDLE_GEMFILE: gemfiles/rails_${{ matrix.rails-version }}_${{ matrix.assets-pipeline }}.gemfile
3940

4041
steps:
4142
- uses: actions/checkout@v4

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,4 @@
2222
*.gem
2323

2424
# Ignore Gemfile.lock files for Rails main branch.
25-
/gemfiles/rails_main*.gemfile.lock
25+
/gemfiles/*.lock

Appraisals

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,53 @@
1-
appraise "rails_6_1_sprockets" do
1+
appraise "rails_6.1_sprockets" do
22
gem "rails", "~> 6.1.0"
3+
remove_gem "propshaft"
4+
gem "logger"
5+
gem "sqlite3", "~> 1.4"
6+
gem "bigdecimal"
37
end
48

5-
appraise "rails_7_0_sprockets" do
6-
gem "rails", "~> 7.0.0"
9+
appraise "rails_7.0_sprockets" do
10+
gem "rails", github: "rails/rails", branch: "7-0-stable"
711
remove_gem "propshaft"
812
gem "sprockets-rails"
13+
gem "sqlite3", "~> 1.4"
914
end
1015

11-
appraise "rails_7_0_propshaft" do
12-
gem "rails", "~> 7.0.0"
16+
appraise "rails_7.0_propshaft" do
17+
gem "rails", github: "rails/rails", branch: "7-0-stable"
1318
gem "propshaft"
19+
gem "sqlite3", "~> 1.4"
1420
end
1521

16-
appraise "rails_7_1_sprockets" do
22+
appraise "rails_7.1_sprockets" do
1723
gem "rails", "~> 7.1.0"
1824
remove_gem "propshaft"
1925
gem "sprockets-rails"
2026
end
2127

22-
appraise "rails_7_1_propshaft" do
28+
appraise "rails_7.1_propshaft" do
2329
gem "rails", "~> 7.1.0"
2430
gem "propshaft"
2531
end
2632

27-
appraise "rails_8_0_sprockets" do
33+
appraise "rails_7.2_sprockets" do
34+
gem "rails", "~> 7.2.0"
35+
remove_gem "propshaft"
36+
gem "sprockets-rails"
37+
end
38+
39+
appraise "rails_7.2_propshaft" do
40+
gem "rails", "~> 7.2.0"
41+
gem "propshaft"
42+
end
43+
44+
appraise "rails_8.0_sprockets" do
2845
gem "rails", "~> 8.0.0"
2946
remove_gem "propshaft"
3047
gem "sprockets-rails"
3148
end
3249

33-
appraise "rails_8_0_propshaft" do
50+
appraise "rails_8.0_propshaft" do
3451
gem "rails", "~> 8.0.0"
3552
gem "propshaft"
3653
end

gemfiles/rails_6_1_sprockets.gemfile renamed to gemfiles/rails_6.1_sprockets.gemfile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@
33
source "https://rubygems.org"
44

55
gem "rails", "~> 6.1.0"
6-
gem "propshaft"
7-
gem "sqlite3"
6+
gem "sqlite3", "~> 1.4"
7+
gem "logger"
8+
gem "bigdecimal"
89

910
group :development do
1011
gem "appraisal"

gemfiles/rails_7_0_propshaft.gemfile renamed to gemfiles/rails_7.0_propshaft.gemfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
source "https://rubygems.org"
44

5-
gem "rails", "~> 7.0.0"
5+
gem "rails", branch: "7-0-stable", git: "https://github.com/rails/rails.git"
66
gem "propshaft"
7-
gem "sqlite3"
7+
gem "sqlite3", "~> 1.4"
88

99
group :development do
1010
gem "appraisal"

gemfiles/rails_7_0_sprockets.gemfile renamed to gemfiles/rails_7.0_sprockets.gemfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
source "https://rubygems.org"
44

5-
gem "rails", "~> 7.0.0"
6-
gem "sqlite3"
5+
gem "rails", branch: "7-0-stable", git: "https://github.com/rails/rails.git"
6+
gem "sqlite3", "~> 1.4"
77
gem "sprockets-rails"
88

99
group :development do

gemfiles/rails_7_2_propshaft.gemfile renamed to gemfiles/rails_7.2_propshaft.gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
source "https://rubygems.org"
44

55
gem "rails", "~> 7.2.0"
6-
gem "sqlite3", "~> 1.4"
76
gem "propshaft"
7+
gem "sqlite3"
88

99
group :development do
1010
gem "appraisal"

gemfiles/rails_7_2_sprockets.gemfile renamed to gemfiles/rails_7.2_sprockets.gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
source "https://rubygems.org"
44

55
gem "rails", "~> 7.2.0"
6-
gem "sqlite3", "~> 1.4"
6+
gem "sqlite3"
77
gem "sprockets-rails"
88

99
group :development do

0 commit comments

Comments
 (0)