Skip to content

Commit

Permalink
Dropped support for Ruby <2.7. (#20)
Browse files Browse the repository at this point in the history
Signed-off-by: Hermann Mayer <hermann.mayer92@gmail.com>
  • Loading branch information
Jack12816 authored Jul 8, 2024
1 parent 293537b commit dad6a12
Show file tree
Hide file tree
Showing 18 changed files with 90 additions and 27 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ jobs:
- name: Install the correct Ruby version
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.5
ruby-version: 2.7
bundler-cache: true
rubygems: '3.3.26'
rubygems: '3.4.22'

- name: Prepare the virtual environment
uses: hausgold/actions/ci@master
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Install Ruby 2.5
- name: Install Ruby 2.7
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.5
ruby-version: 2.7
bundler-cache: true
rubygems: '3.3.26'
rubygems: '3.4.22'

- name: Prepare the virtual environment
uses: hausgold/actions/ci@master
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ jobs:
strategy:
fail-fast: false
matrix:
ruby: ['2.5', '2.7']
rails: ['5.2']
ruby: ['2.7']
rails: ['5.2', '6.1', '7.1']
env:
BUNDLE_GEMFILE: 'gemfiles/rails_${{ matrix.rails }}.gemfile'
steps:
Expand All @@ -30,7 +30,7 @@ jobs:
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
rubygems: '3.3.26'
rubygems: '3.4.22'

- name: Prepare the virtual environment
uses: hausgold/actions/ci@master
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
/pkg/
/spec/reports/
/tmp/
/log/
/vendor/
/gemfiles/vendor/
/Gemfile.lock
Expand Down
2 changes: 1 addition & 1 deletion .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ AllCops:
NewCops: enable
SuggestExtensions: false
DisplayCopNames: true
TargetRubyVersion: 2.5
TargetRubyVersion: 2.7
TargetRailsVersion: 5.2
Exclude:
- bin/**/*
Expand Down
8 changes: 8 additions & 0 deletions Appraisals
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,11 @@
appraise 'rails-5.2' do
gem 'rails', '~> 5.2.0'
end

appraise 'rails-6.1' do
gem 'rails', '~> 6.1.0'
end

appraise 'rails-7.1' do
gem 'rails', '~> 7.1.0'
end
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
### next

* TODO: Replace this bullet point with an actual description of a change.
* Dropped support for Ruby <2.7 (#20)

### 1.1.5

Expand Down
6 changes: 3 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
FROM hausgold/ruby:2.5
FROM hausgold/ruby:2.7
MAINTAINER Hermann Mayer <hermann.mayer@hausgold.de>

# Update system gem
RUN gem update --system '3.3.26'
RUN gem update --system '3.4.22'

# Install system packages and the latest bundler
RUN apt-get update -yqqq && \
Expand All @@ -11,7 +11,7 @@ RUN apt-get update -yqqq && \
ca-certificates \
bash-completion inotify-tools && \
echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen && /usr/sbin/locale-gen && \
gem install bundler -v '~> 2.3.0' --no-document --no-prerelease
gem install bundler -v '~> 2.4.22' --no-document --no-prerelease

# Add new web user
RUN mkdir /app && \
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ test-style: \
test-style-ruby:
# Run the static code analyzer (rubocop)
@$(call run-shell,$(BUNDLE) exec $(RUBOCOP) -a \
|| ($(TEST) $$($(RUBY_VERSION)) != '2.5' && true))
|| ($(TEST) $$($(RUBY_VERSION)) != '2.7' && true))

clean:
# Clean the dependencies
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ def instrumentation
#
# @return [Hash{String => Array}] the grouped scenarios
def scenarios
res = (instrumentation['scenarios'] || [])
res = instrumentation['scenarios'] || []
res.each_with_object({}) do |scenario, memo|
group = scenario_group(scenario['name'])
scenario['group'] = group
Expand Down
4 changes: 3 additions & 1 deletion config/docker/.bashrc
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ sudo sed -i 's/autostart=.*/autostart=false/g' /etc/supervisor/conf.d/*
sudo supervisord >/dev/null 2>&1 &

# Wait for supervisord
while ! supervisorctl status >/dev/null 2>&1; do sleep 1; done
while ! (sudo supervisorctl status | grep avahi) >/dev/null 2>&1; do
sleep 1
done

# Boot the mDNS stack
echo '# Start the mDNS stack'
Expand Down
2 changes: 1 addition & 1 deletion factory_bot_instrumentation.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Gem::Specification.new do |spec|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
spec.require_paths = ['lib']

spec.required_ruby_version = '>= 2.5'
spec.required_ruby_version = '>= 2.7'

# TODO: Remove the upper lock when
# https://github.com/thoughtbot/factory_bot/issues/1614 is solved.
Expand Down
22 changes: 22 additions & 0 deletions gemfiles/rails_6.1.gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# This file was generated by Appraisal

source "https://rubygems.org"

gem "appraisal", "~> 2.4"
gem "bundler", "~> 2.3"
gem "countless", "~> 1.1"
gem "factory_bot_rails", "~> 6.2"
gem "guard-rspec", "~> 4.7"
gem "railties", ">= 5.2"
gem "rspec-rails", "~> 5.1"
gem "rubocop", "~> 1.28"
gem "rubocop-rails", "~> 2.14"
gem "rubocop-rspec", "~> 2.10"
gem "simplecov", ">= 0.22"
gem "sqlite3", "~> 1.5"
gem "timecop", ">= 0.9.6"
gem "yard", ">= 0.9.28"
gem "yard-activesupport-concern", ">= 0.0.1"
gem "rails", "~> 6.1.0"

gemspec path: "../"
22 changes: 22 additions & 0 deletions gemfiles/rails_7.1.gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# This file was generated by Appraisal

source "https://rubygems.org"

gem "appraisal", "~> 2.4"
gem "bundler", "~> 2.3"
gem "countless", "~> 1.1"
gem "factory_bot_rails", "~> 6.2"
gem "guard-rspec", "~> 4.7"
gem "railties", ">= 5.2"
gem "rspec-rails", "~> 5.1"
gem "rubocop", "~> 1.28"
gem "rubocop-rails", "~> 2.14"
gem "rubocop-rspec", "~> 2.10"
gem "simplecov", ">= 0.22"
gem "sqlite3", "~> 1.5"
gem "timecop", ">= 0.9.6"
gem "yard", ">= 0.9.28"
gem "yard-activesupport-concern", ">= 0.0.1"
gem "rails", "~> 7.1.0"

gemspec path: "../"
Original file line number Diff line number Diff line change
Expand Up @@ -93,12 +93,12 @@ def main_app

it 'responds the error' do
action
expect(body['error']).to be_eql(%(Factory not registered: "admin"))
expect(body['error']).to eql(%(Factory not registered: "admin"))
end

it 'responds the application name' do
action
expect(body['application']).to be_eql('Dummy')
expect(body['application']).to eql('Dummy')
end

context 'with custom error handling' do
Expand All @@ -118,7 +118,7 @@ def main_app

it 'responds the error message' do
action
expect(body['error']).to be_eql(%(Factory not registered: "admin"))
expect(body['error']).to eql(%(Factory not registered: "admin"))
end
end
end
Expand All @@ -141,7 +141,7 @@ def main_app

it 'create a new user with the default first name' do
action
expect(User.last.first_name).to be_eql('Max')
expect(User.last.first_name).to eql('Max')
end
end

Expand All @@ -163,7 +163,7 @@ def main_app

it 'create a new user with the correct first name' do
action
expect(User.last.first_name).to be_eql('Bernd')
expect(User.last.first_name).to eql('Bernd')
end

context 'with custom renderer' do
Expand All @@ -177,7 +177,7 @@ def main_app
end

it 'uses the custom renderer' do
expect(response.body).to be_eql('{"test":true}')
expect(response.body).to eql('{"test":true}')
end
end

Expand All @@ -193,7 +193,7 @@ def main_app

context 'when unauthenticated' do
it 'responds the 401 status code' do
expect(response.status).to be_eql(401)
expect(response).to have_http_status(:unauthorized)
end
end

Expand All @@ -203,7 +203,7 @@ def main_app
end

it 'responds the 200 status code' do
expect(response.status).to be_eql(200)
expect(response).to have_http_status(:ok)
end
end
end
Expand All @@ -229,15 +229,15 @@ def main_app
let(:name) { 'UX Testcase #1' }

it 'returns the correct group name' do
expect(action).to be_eql('UX Scenarios')
expect(action).to eql('UX Scenarios')
end
end

context 'without a matching scenario name' do
let(:name) { 'Fancy Testcase #1' }

it 'returns the correct group name' do
expect(action).to be_eql('Various')
expect(action).to eql('Various')
end
end
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,14 @@
ENV['FACTORY_BOT_RAILS'] = 'true'
require 'spec_helper'

# rubocop:disable RSpec/SpecFilePathFormat because we have to split the spec
# into multiple files to stub the availability of the +factory_bot_rails+ gem
# properly
RSpec.describe FactoryBot::Instrumentation::Engine do
context 'with factory_bot_rails' do
it 'does not raise' do
expect { Rails.application }.not_to raise_error
end
end
end
# rubocop:enable RSpec/SpecFilePathFormat
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,14 @@
ENV['FACTORY_BOT_RAILS'] = 'false'
require 'spec_helper'

# rubocop:disable RSpec/SpecFilePathFormat because we have to split the spec
# into multiple files to stub the availability of the +factory_bot_rails+ gem
# properly
RSpec.describe FactoryBot::Instrumentation::Engine do
context 'without factory_bot_rails' do
it 'does not raise' do
expect { Rails.application }.not_to raise_error
end
end
end
# rubocop:enable RSpec/SpecFilePathFormat
File renamed without changes.

0 comments on commit dad6a12

Please sign in to comment.