Skip to content

Commit

Permalink
fix synchronization of lockfiles (#35)
Browse files Browse the repository at this point in the history
and revert to bundler 2.4.20, which is still compatible with ruby 2.7
  • Loading branch information
ccutrer authored Dec 4, 2024
1 parent 0ccaa84 commit 8ed9c5c
Show file tree
Hide file tree
Showing 6 changed files with 276 additions and 232 deletions.
22 changes: 13 additions & 9 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,6 @@ jobs:
- 'rails-7.2'
- 'Gemfile.lock' # rails-8.0

include:
- ruby-version: '2.7'
bundler: '2.4.20'
- ruby-version: '3.0'
bundler: '2.5.23'
- ruby-version: '3.1'
bundler: '2.5.23'

exclude:
- ruby-version: '3.3'
lockfile: 'rails-7.0'
Expand Down Expand Up @@ -73,7 +65,6 @@ jobs:
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler: ${{ matrix.bundler }}
ruby-version: ${{ matrix.ruby-version }}
bundler-cache: true
env:
Expand All @@ -100,3 +91,16 @@ jobs:
- name: Run RuboCop
run: bin/rubocop
timeout-minutes: 2

lint-lockfile:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.2
bundler-cache: true
- name: Ensure Lockfiles are Synchronized
run: bundle install && bundle check
13 changes: 11 additions & 2 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,31 @@ Plugin.send(:load_plugin, "bundler-multilock")

gemspec

gem "zeitwerk", "< 2.7.0" # force a version still compatible with Ruby 2.7

ruby27 = Gem::Requirement.new("~> 2.7.0").satisfied_by?(Gem::Version.new(RUBY_VERSION))
ruby30or31 = Gem::Requirement.new(">= 3.0.0", "< 3.2.0").satisfied_by?(Gem::Version.new(RUBY_VERSION))

lockfile "rails-7.0" do
gem "activerecord", "~> 7.0.0"
gem "nokogiri", "< 1.16.0" # force a version still compatible with Ruby 2.7
gem "railties", "~> 7.0.0"
end

lockfile "rails-7.1" do
lockfile "rails-7.1", default: ruby27 do
gem "activerecord", "~> 7.1.0"
gem "nokogiri", "< 1.16.0" # force a version still compatible with Ruby 2.7
gem "railties", "~> 7.1.0"
end

lockfile "rails-7.2" do
lockfile "rails-7.2", default: ruby30or31 do
gem "activerecord", "~> 7.2.0"
gem "railties", "~> 7.2.0"
end

lockfile do
gem "activerecord", "~> 8.0.0"
# satisfy bundler-multilock that yes, indeed, we want nokogiri to differ between the lockfiles
gem "nokogiri", ">= 1.16.0"
gem "railties", "~> 8.0.0"
end
6 changes: 4 additions & 2 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ GEM
unicode-emoji (4.0.4)
uri (1.0.2)
useragent (0.16.10)
zeitwerk (2.7.1)
zeitwerk (2.6.18)

PLATFORMS
aarch64-linux
Expand All @@ -191,13 +191,15 @@ DEPENDENCIES
activerecord (~> 8.0.0)
activerecord-pg-extensions!
debug (~> 1.8)
nokogiri (>= 1.16.0)
pg (~> 1.2)
railties (~> 8.0.0)
rake (~> 13.0)
rspec (~> 3.0)
rubocop-inst (~> 1)
rubocop-rake (~> 0.5)
rubocop-rspec (~> 2.3)
zeitwerk (< 2.7.0)

BUNDLED WITH
2.5.23
2.4.20
169 changes: 90 additions & 79 deletions Gemfile.rails-7.0.lock
Original file line number Diff line number Diff line change
Expand Up @@ -8,70 +8,74 @@ PATH
GEM
remote: https://rubygems.org/
specs:
actionpack (7.0.8)
actionview (= 7.0.8)
activesupport (= 7.0.8)
actionpack (7.0.8.4)
actionview (= 7.0.8.4)
activesupport (= 7.0.8.4)
rack (~> 2.0, >= 2.2.4)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
actionview (7.0.8)
activesupport (= 7.0.8)
actionview (7.0.8.4)
activesupport (= 7.0.8.4)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.1, >= 1.2.0)
activemodel (7.0.8)
activesupport (= 7.0.8)
activerecord (7.0.8)
activemodel (= 7.0.8)
activesupport (= 7.0.8)
activesupport (7.0.8)
activemodel (7.0.8.4)
activesupport (= 7.0.8.4)
activerecord (7.0.8.4)
activemodel (= 7.0.8.4)
activesupport (= 7.0.8.4)
activesupport (7.0.8.4)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
ast (2.4.2)
builder (3.2.4)
concurrent-ruby (1.2.2)
builder (3.3.0)
concurrent-ruby (1.3.4)
crass (1.0.6)
debug (1.8.0)
irb (>= 1.5.0)
reline (>= 0.3.1)
diff-lcs (1.5.0)
erubi (1.12.0)
i18n (1.14.1)
concurrent-ruby (~> 1.0)
io-console (0.6.0)
irb (1.8.3)
rdoc
date (3.4.1)
debug (1.9.2)
irb (~> 1.10)
reline (>= 0.3.8)
json (2.6.3)
diff-lcs (1.5.1)
erubi (1.13.0)
i18n (1.14.6)
concurrent-ruby (~> 1.0)
io-console (0.7.2)
irb (1.14.1)
rdoc (>= 4.0.0)
reline (>= 0.4.2)
json (2.8.2)
language_server-protocol (3.17.0.3)
loofah (2.21.4)
loofah (2.23.1)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
method_source (1.0.0)
mini_portile2 (2.8.5)
minitest (5.20.0)
nokogiri (1.15.4)
mini_portile2 (~> 2.8.2)
method_source (1.1.0)
minitest (5.25.2)
nokogiri (1.15.7-aarch64-linux)
racc (~> 1.4)
nokogiri (1.15.7-arm-linux)
racc (~> 1.4)
nokogiri (1.15.7-arm64-darwin)
racc (~> 1.4)
nokogiri (1.15.4-arm64-darwin)
nokogiri (1.15.7-x86-linux)
racc (~> 1.4)
nokogiri (1.15.4-x86_64-darwin)
nokogiri (1.15.7-x86_64-darwin)
racc (~> 1.4)
nokogiri (1.15.4-x86_64-linux)
nokogiri (1.15.7-x86_64-linux)
racc (~> 1.4)
parallel (1.23.0)
parser (3.2.2.4)
parallel (1.26.3)
parser (3.3.6.0)
ast (~> 2.4.1)
racc
pg (1.5.4)
psych (5.1.1.1)
pg (1.5.9)
psych (5.2.1)
date
stringio
racc (1.7.1)
rack (2.2.8)
racc (1.8.1)
rack (2.2.9)
rack-test (2.1.0)
rack (>= 1.3)
rails-dom-testing (2.2.0)
Expand All @@ -81,88 +85,95 @@ GEM
rails-html-sanitizer (1.6.0)
loofah (~> 2.21)
nokogiri (~> 1.14)
railties (7.0.8)
actionpack (= 7.0.8)
activesupport (= 7.0.8)
railties (7.0.8.4)
actionpack (= 7.0.8.4)
activesupport (= 7.0.8.4)
method_source
rake (>= 12.2)
thor (~> 1.0)
zeitwerk (~> 2.5)
rainbow (3.1.1)
rake (13.1.0)
rdoc (6.5.0)
rake (13.2.1)
rdoc (6.8.1)
psych (>= 4.0.0)
regexp_parser (2.8.2)
reline (0.3.9)
regexp_parser (2.9.3)
reline (0.5.12)
io-console (~> 0.5)
rexml (3.2.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)
rspec (3.13.0)
rspec-core (~> 3.13.0)
rspec-expectations (~> 3.13.0)
rspec-mocks (~> 3.13.0)
rspec-core (3.13.2)
rspec-support (~> 3.13.0)
rspec-expectations (3.13.3)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-mocks (3.12.6)
rspec-support (~> 3.13.0)
rspec-mocks (3.13.2)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-support (3.12.1)
rubocop (1.57.2)
rspec-support (~> 3.13.0)
rspec-support (3.13.1)
rubocop (1.69.0)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
parser (>= 3.2.2.4)
parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.28.1, < 2.0)
regexp_parser (>= 2.4, < 3.0)
rubocop-ast (>= 1.36.1, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.30.0)
parser (>= 3.2.1.0)
rubocop-capybara (2.19.0)
unicode-display_width (>= 2.4.0, < 4.0)
rubocop-ast (1.36.2)
parser (>= 3.3.1.0)
rubocop-capybara (2.21.0)
rubocop (~> 1.41)
rubocop-factory_bot (2.24.0)
rubocop (~> 1.33)
rubocop-inst (1.0.2)
rubocop-factory_bot (2.26.1)
rubocop (~> 1.61)
rubocop-inst (1.0.4)
rubocop (~> 1.50)
rubocop-performance (~> 1.17)
rubocop-performance (1.19.1)
rubocop (>= 1.7.0, < 2.0)
rubocop-ast (>= 0.4.0)
rubocop-performance (1.23.0)
rubocop (>= 1.48.1, < 2.0)
rubocop-ast (>= 1.31.1, < 2.0)
rubocop-rake (0.6.0)
rubocop (~> 1.0)
rubocop-rspec (2.25.0)
rubocop-rspec (2.31.0)
rubocop (~> 1.40)
rubocop-capybara (~> 2.17)
rubocop-factory_bot (~> 2.22)
rubocop-rspec_rails (~> 2.28)
rubocop-rspec_rails (2.29.1)
rubocop (~> 1.61)
ruby-progressbar (1.13.0)
stringio (3.0.8)
thor (1.3.0)
stringio (3.1.2)
thor (1.3.2)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
unicode-display_width (2.5.0)
zeitwerk (2.6.12)
unicode-display_width (3.1.2)
unicode-emoji (~> 4.0, >= 4.0.4)
unicode-emoji (4.0.4)
zeitwerk (2.6.18)

PLATFORMS
aarch64-linux
arm-linux
arm64-darwin
ruby
x86-linux
x86_64-darwin
x86_64-linux

DEPENDENCIES
activerecord (~> 7.0.0)
activerecord-pg-extensions!
debug (~> 1.8)
nokogiri (< 1.16.0)
pg (~> 1.2)
railties (~> 7.0.0)
rake (~> 13.0)
rspec (~> 3.0)
rubocop-inst (~> 1)
rubocop-rake (~> 0.5)
rubocop-rspec (~> 2.3)
zeitwerk (< 2.7.0)

BUNDLED WITH
2.4.20
Loading

0 comments on commit 8ed9c5c

Please sign in to comment.