Skip to content

Commit

Permalink
test against current rubies/railses (#116)
Browse files Browse the repository at this point in the history
Drop support for older versions, and ensure everything passes in the
latest

Note: as of ruby 3.3, racc is no longer a default gem and is instead
bundled, so it needs to be added an explicit dependency. This should
probably be fixed in ruby_parser
  • Loading branch information
jenseng authored Jan 2, 2024
1 parent f43a33e commit 5acf6f1
Show file tree
Hide file tree
Showing 13 changed files with 364 additions and 22 deletions.
12 changes: 4 additions & 8 deletions .github/workflows/workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,8 @@ jobs:
--health-retries 3
strategy:
matrix:
ruby: ["2.5", "2.7", "3.0", "3.1"]
gemfile: ["activerecord_6.0", "activerecord_6.1", "activerecord_7.0"]
exclude:
- { ruby: "2.5", gemfile: "activerecord_7.0" }
- { ruby: "3.1", gemfile: "activerecord_6.0" }
ruby: ["3.0", "3.1", "3.2", "3.3"]
gemfile: ["activerecord_6.1", "activerecord_7.0", "activerecord_7.1"]
env:
BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
steps:
Expand All @@ -49,10 +46,9 @@ jobs:
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- run: sudo apt-get -yqq install libpq-dev libmysqlclient-dev
- env:
DB_CONFIG: github-actions
PGPORT: ${{ job.services.postgres.ports[5432] }}
MYSQLPORT: ${{ job.services.mysql.ports[3306] }}
run: |
sudo apt-get -yqq install libpq-dev libmysqlclient-dev
bundle exec rspec
run: bundle exec rspec
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
/Gemfile.lock
/gemfiles/*.lock
/gemfiles/.bundle
/*.gem
/pkg
Expand Down
18 changes: 10 additions & 8 deletions Appraisals
Original file line number Diff line number Diff line change
@@ -1,25 +1,26 @@
appraise "activerecord-6.0" do
gem "activerecord", "~> 6.0.0"
gem "activerecord-trilogy-adapter", "~> 3.0.0"
gem "mysql2", "~> 0.4.10"
appraise "activerecord-6.1" do
gem "activerecord", "~> 6.1.0"
gem "mysql2", "~> 0.5"
gem "pg", ">= 0.18", "< 2.0"
gem "sqlite3", "~> 1.4.0"
gem "racc", '~> 1.7.3', platforms: [:ruby_33]
end

appraise "activerecord-6.1" do
gem "activerecord", "~> 6.1.0"
appraise "activerecord-7.0" do
gem "activerecord", "~> 7.0.0"
gem "activerecord-trilogy-adapter", "~> 3.0.0"
gem "mysql2", "~> 0.5"
gem "pg", ">= 0.18", "< 2.0"
gem "sqlite3", "~> 1.4.0"
gem "racc", '~> 1.7.3', platforms: [:ruby_33]
end

appraise "activerecord-7.0" do
appraise "activerecord-7.1" do
gem "activerecord", "~> 7.0.0"
gem "activerecord-trilogy-adapter", "~> 3.0.0"
gem "mysql2", "~> 0.5"
gem "pg", ">= 0.18", "< 2.0"
gem "sqlite3", "~> 1.4.0"
gem "racc", '~> 1.7.3', platforms: [:ruby_33]
end

appraise "activerecord-edge" do
Expand All @@ -28,4 +29,5 @@ appraise "activerecord-edge" do
gem "mysql2", "~> 0.5"
gem "pg", ">= 0.18", "< 2.0"
gem "sqlite3", "~> 1.4.0"
gem "racc", '~> 1.7.3', platforms: [:ruby_33]
end
2 changes: 2 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
source "https://rubygems.org"

gemspec
# TODO: seems like this should be fixed in ruby_parser 🤔
gem "racc", '~> 1.7.3', platforms: [:ruby_33]

group :development do
gem 'appraisal'
Expand Down
2 changes: 1 addition & 1 deletion gemfiles/activerecord_6.1.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

source "https://rubygems.org"

gem "racc", "~> 1.7.3", platforms: [:ruby_33]
gem "activerecord", "~> 6.1.0"
gem "activerecord-trilogy-adapter"
gem "mysql2", "~> 0.5"
gem "pg", ">= 0.18", "< 2.0"
gem "sqlite3", "~> 1.4.0"
Expand Down
79 changes: 79 additions & 0 deletions gemfiles/activerecord_6.1.gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
PATH
remote: ..
specs:
hairtrigger (1.0.0)
activerecord (>= 6.0, < 8)
ruby2ruby (~> 2.4)
ruby_parser (~> 3.10)

GEM
remote: https://rubygems.org/
specs:
activemodel (6.1.7.6)
activesupport (= 6.1.7.6)
activerecord (6.1.7.6)
activemodel (= 6.1.7.6)
activesupport (= 6.1.7.6)
activesupport (6.1.7.6)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
zeitwerk (~> 2.3)
appraisal (2.5.0)
bundler
rake
thor (>= 0.14.0)
byebug (11.1.3)
concurrent-ruby (1.2.2)
diff-lcs (1.5.0)
i18n (1.14.1)
concurrent-ruby (~> 1.0)
minitest (5.20.0)
mysql2 (0.5.5)
pg (1.5.4)
racc (1.7.3)
rake (13.0.6)
rspec (3.12.0)
rspec-core (~> 3.12.0)
rspec-expectations (~> 3.12.0)
rspec-mocks (~> 3.12.0)
rspec-core (3.12.2)
rspec-support (~> 3.12.0)
rspec-expectations (3.12.3)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-mocks (3.12.6)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-support (3.12.1)
ruby2ruby (2.5.0)
ruby_parser (~> 3.1)
sexp_processor (~> 4.6)
ruby_parser (3.20.3)
sexp_processor (~> 4.16)
sexp_processor (4.17.0)
sqlite3 (1.4.4)
thor (1.3.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
zeitwerk (2.6.12)

PLATFORMS
arm64-darwin-22
ruby

DEPENDENCIES
activerecord (~> 6.1.0)
appraisal
byebug
hairtrigger!
mysql2 (~> 0.5)
pg (>= 0.18, < 2.0)
racc (~> 1.7.3)
rake (~> 13.0.6)
rspec (~> 3.12.0)
sqlite3 (~> 1.4.0)

BUNDLED WITH
2.5.3
1 change: 1 addition & 0 deletions gemfiles/activerecord_7.0.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

source "https://rubygems.org"

gem "racc", "~> 1.7.3", platforms: [:ruby_33]
gem "activerecord", "~> 7.0.0"
gem "activerecord-trilogy-adapter", "~> 3.0.0"
gem "mysql2", "~> 0.5"
Expand Down
82 changes: 82 additions & 0 deletions gemfiles/activerecord_7.0.gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
PATH
remote: ..
specs:
hairtrigger (1.0.0)
activerecord (>= 6.0, < 8)
ruby2ruby (~> 2.4)
ruby_parser (~> 3.10)

GEM
remote: https://rubygems.org/
specs:
activemodel (7.0.8)
activesupport (= 7.0.8)
activerecord (7.0.8)
activemodel (= 7.0.8)
activesupport (= 7.0.8)
activerecord-trilogy-adapter (3.0.0)
activerecord (>= 7.0, < 7.1a)
trilogy (>= 2.4.0)
activesupport (7.0.8)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
appraisal (2.5.0)
bundler
rake
thor (>= 0.14.0)
byebug (11.1.3)
concurrent-ruby (1.2.2)
diff-lcs (1.5.0)
i18n (1.14.1)
concurrent-ruby (~> 1.0)
minitest (5.20.0)
mysql2 (0.5.5)
pg (1.5.4)
racc (1.7.3)
rake (13.0.6)
rspec (3.12.0)
rspec-core (~> 3.12.0)
rspec-expectations (~> 3.12.0)
rspec-mocks (~> 3.12.0)
rspec-core (3.12.2)
rspec-support (~> 3.12.0)
rspec-expectations (3.12.3)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-mocks (3.12.6)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-support (3.12.1)
ruby2ruby (2.5.0)
ruby_parser (~> 3.1)
sexp_processor (~> 4.6)
ruby_parser (3.20.3)
sexp_processor (~> 4.16)
sexp_processor (4.17.0)
sqlite3 (1.4.4)
thor (1.3.0)
trilogy (2.6.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)

PLATFORMS
arm64-darwin-22
ruby

DEPENDENCIES
activerecord (~> 7.0.0)
activerecord-trilogy-adapter (~> 3.0.0)
appraisal
byebug
hairtrigger!
mysql2 (~> 0.5)
pg (>= 0.18, < 2.0)
racc (~> 1.7.3)
rake (~> 13.0.6)
rspec (~> 3.12.0)
sqlite3 (~> 1.4.0)

BUNDLED WITH
2.5.3
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

source "https://rubygems.org"

gem "activerecord", "~> 6.0.0"
gem "activerecord-trilogy-adapter"
gem "mysql2", "~> 0.4.10"
gem "racc", "~> 1.7.3", platforms: [:ruby_33]
gem "activerecord", "~> 7.0.0"
gem "mysql2", "~> 0.5"
gem "pg", ">= 0.18", "< 2.0"
gem "sqlite3", "~> 1.4.0"

Expand Down
77 changes: 77 additions & 0 deletions gemfiles/activerecord_7.1.gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
PATH
remote: ..
specs:
hairtrigger (1.0.0)
activerecord (>= 6.0, < 8)
ruby2ruby (~> 2.4)
ruby_parser (~> 3.10)

GEM
remote: https://rubygems.org/
specs:
activemodel (7.0.8)
activesupport (= 7.0.8)
activerecord (7.0.8)
activemodel (= 7.0.8)
activesupport (= 7.0.8)
activesupport (7.0.8)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
appraisal (2.5.0)
bundler
rake
thor (>= 0.14.0)
byebug (11.1.3)
concurrent-ruby (1.2.2)
diff-lcs (1.5.0)
i18n (1.14.1)
concurrent-ruby (~> 1.0)
minitest (5.20.0)
mysql2 (0.5.5)
pg (1.5.4)
racc (1.7.3)
rake (13.0.6)
rspec (3.12.0)
rspec-core (~> 3.12.0)
rspec-expectations (~> 3.12.0)
rspec-mocks (~> 3.12.0)
rspec-core (3.12.2)
rspec-support (~> 3.12.0)
rspec-expectations (3.12.3)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-mocks (3.12.6)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-support (3.12.1)
ruby2ruby (2.5.0)
ruby_parser (~> 3.1)
sexp_processor (~> 4.6)
ruby_parser (3.20.3)
sexp_processor (~> 4.16)
sexp_processor (4.17.0)
sqlite3 (1.4.4)
thor (1.3.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)

PLATFORMS
arm64-darwin-22
ruby

DEPENDENCIES
activerecord (~> 7.0.0)
appraisal
byebug
hairtrigger!
mysql2 (~> 0.5)
pg (>= 0.18, < 2.0)
racc (~> 1.7.3)
rake (~> 13.0.6)
rspec (~> 3.12.0)
sqlite3 (~> 1.4.0)

BUNDLED WITH
2.5.3
1 change: 1 addition & 0 deletions gemfiles/activerecord_edge.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

source "https://rubygems.org"

gem "racc", "~> 1.7.3", platforms: [:ruby_33]
gem "arel", github: "rails/arel"
gem "activerecord", github: "rails/rails", branch: "main"
gem "mysql2", "~> 0.5"
Expand Down
Loading

0 comments on commit 5acf6f1

Please sign in to comment.