Skip to content

Commit ffa378a

Browse files
authored
Merge pull request #168 from publify/test-with-multiple-rails-versions
Test with all supported Rails versions in CI
2 parents 342c16f + 6acc9c1 commit ffa378a

File tree

9 files changed

+68
-3
lines changed

9 files changed

+68
-3
lines changed

.github/workflows/ruby.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,18 @@ jobs:
2828
strategy:
2929
matrix:
3030
ruby: ["3.0", "3.1", "3.2", "3.3", "3.4"]
31+
gemfile:
32+
- rails_61
33+
- rails_70
34+
- rails_71
35+
exclude:
36+
- ruby: "3.4"
37+
gemfile: rails_61
38+
- ruby: "3.4"
39+
gemfile: rails_70
40+
41+
env:
42+
BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
3143

3244
steps:
3345
- uses: actions/checkout@v4

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
.bundle/
22
Gemfile.lock
3+
gemfiles/*.lock
34
coverage/
45
log/*.log
56
pkg/
67
spec/dummy/.sass-cache
78
spec/dummy/config/secret.token
89
spec/dummy/db/*.sqlite3
9-
spec/dummy/db/*.sqlite3-journal
10+
spec/dummy/db/*.sqlite3-*
1011
spec/dummy/log/*.log
1112
spec/dummy/public/files/
1213
spec/dummy/public/uploads/

Appraisals

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# frozen_string_literal: true
2+
3+
# HACK: This uses odd syntax to make appraisal customization work on newer Rubies.
4+
# See https://github.com/thoughtbot/appraisal/pull/214. Once that one has been
5+
# released, we should use customize_gemfiles instead.
6+
Customize.new heading: <<~HEADING.chomp
7+
frozen_string_literal: true
8+
9+
This file was generated by Appraisal
10+
HEADING
11+
12+
appraise "rails_61" do
13+
gem "rails", "~> 6.1.0"
14+
end
15+
16+
appraise "rails_70" do
17+
gem "rails", "~> 7.0.0"
18+
end
19+
20+
appraise "rails_71" do
21+
gem "rails", "~> 7.1.0"
22+
end

gemfiles/rails_61.gemfile

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# frozen_string_literal: true
2+
3+
# This file was generated by Appraisal
4+
5+
source "https://rubygems.org"
6+
7+
gem "rails", "~> 6.1.0"
8+
9+
gemspec path: "../"

gemfiles/rails_70.gemfile

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# frozen_string_literal: true
2+
3+
# This file was generated by Appraisal
4+
5+
source "https://rubygems.org"
6+
7+
gem "rails", "~> 7.0.0"
8+
9+
gemspec path: "../"

gemfiles/rails_71.gemfile

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# frozen_string_literal: true
2+
3+
# This file was generated by Appraisal
4+
5+
source "https://rubygems.org"
6+
7+
gem "rails", "~> 7.1.0"
8+
9+
gemspec path: "../"

lib/tasks/manifest.rake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
namespace :manifest do
44
def gemmable_files
55
`git ls-files -z`.split("\x0").reject do |file|
6-
file.match(%r{^(bin|spec)/}) ||
6+
file.match(%r{^(bin|spec|gemfiles)/}) ||
77
file.end_with?("/.keep") ||
88
file.start_with?(".") ||
9-
%w(Manifest.txt Gemfile Rakefile publify_core.gemspec).include?(file)
9+
%w(Manifest.txt Appraisals Gemfile Rakefile publify_core.gemspec).include?(file)
1010
end
1111
end
1212

publify_core.gemspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ Gem::Specification.new do |s|
4949
s.add_dependency "twitter", ">= 7.0", "< 8.2"
5050
s.add_dependency "uuidtools", "~> 2.2.0"
5151

52+
s.add_development_dependency "appraisal", "~> 2.3"
5253
s.add_development_dependency "capybara", "~> 3.0"
5354
s.add_development_dependency "erb_lint", "~> 0.5.0"
5455
s.add_development_dependency "factory_bot", "~> 6.2"

spec/dummy/config/application.rb

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

33
require_relative "boot"
44

5+
# FIXME: Remove after support for Rails < 7.1 is dropped
6+
require "logger"
57
require "rails"
68
# Pick the frameworks you want:
79
require "active_model/railtie"

0 commit comments

Comments
 (0)