Skip to content

Commit 40fa9d7

Browse files
authored
Merge pull request #59 from basecamp/modernize-ci
Modernize CI: Ruby and Rails version matrix
2 parents 88ba029 + 47ad596 commit 40fa9d7

11 files changed

Lines changed: 370 additions & 137 deletions

File tree

.github/workflows/ci.yml

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,24 @@ name: CI
22
on: [push, pull_request]
33
jobs:
44
tests:
5+
name: Ruby ${{ matrix.ruby }}, ${{ matrix.rails }}
56
strategy:
67
fail-fast: false
78
matrix:
8-
ruby: ["2.7", "3.0", "3.1", "3.2"]
9+
ruby: ["3.3", "3.4", "4.0", "head"]
10+
rails: [rails_7_2, rails_8_0, rails_8_1, rails_edge]
911
runs-on: ubuntu-latest
12+
continue-on-error: ${{ matrix.rails == 'rails_edge' || matrix.ruby == 'head' }}
13+
env:
14+
BUNDLE_GEMFILE: gemfiles/${{ matrix.rails }}.gemfile
1015

1116
steps:
1217
- uses: actions/checkout@v4
13-
- name: Set up Ruby 2.7
18+
- name: Set up Ruby
1419
uses: ruby/setup-ruby@v1
1520
with:
1621
ruby-version: ${{ matrix.ruby }}
17-
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
18-
19-
- name: Install system dependencies
20-
run: sudo apt-get update && sudo apt-get install libsqlite3-dev
21-
22-
- name: Install gem dependencies
23-
run: gem install bundler && bundle install --jobs 4 --retry 3 --path vendor/bundle
22+
bundler-cache: true
2423

2524
- name: Run tests
2625
run: bundle exec rake test

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
*.gem
77
.byebug_history
8+
gemfiles/*.gemfile.lock
89

910
test/dummy/db/*.sqlite3
1011
test/dummy/db/*.sqlite3-journal

Appraisals

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
appraise "rails-7-2" do
2+
gem "rails", "~> 7.2.0"
3+
end
4+
5+
appraise "rails-8-0" do
6+
gem "rails", "~> 8.0.0"
7+
end
8+
9+
appraise "rails-8-1" do
10+
gem "rails", "~> 8.1.0"
11+
end
12+
13+
appraise "rails-edge" do
14+
gem "rails", github: "rails/rails", branch: "main"
15+
end

Gemfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ gemspec
44

55
gem 'rake'
66
gem 'byebug'
7+
gem 'minitest', '~> 5.0'
78

8-
gem 'rails', '>= 5.0'
9+
gem 'rails', '>= 7.2'
910
gem 'sqlite3'
11+
gem 'appraisal'

0 commit comments

Comments
 (0)