Skip to content

Commit

Permalink
Merge pull request #1426 from rubocop/release
Browse files Browse the repository at this point in the history
Release v2.14.0
  • Loading branch information
bquorning authored Oct 23, 2022
2 parents c2dc854 + b75c484 commit 85e6802
Show file tree
Hide file tree
Showing 10 changed files with 81 additions and 8 deletions.
2 changes: 2 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
inherit_from: .rubocop_todo.yml

require:
- rubocop-performance
- rubocop-rake
Expand Down
11 changes: 11 additions & 0 deletions .rubocop_todo.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# This configuration was generated by
# `rubocop --auto-gen-config --no-offense-counts --no-auto-gen-timestamp`
# using RuboCop version 1.36.0.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
# versions of RuboCop, may require this file to be generated again.

Rake/MethodDefinitionInTask:
Exclude:
- 'tasks/cut_release.rake'
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

## Master (Unreleased)

## 2.14.0 (2022-10-23)

- Add `require_implicit` style to `RSpec/ImplicitSubject`. ([@r7kamura])
- Fix a false positive for `RSpec/Capybara/SpecificMatcher` when `have_css("a")` without attribute. ([@ydah])
- Update `RSpec/ExampleWording` cop to raise error for insufficient descriptions. ([@akrox58])
Expand Down
1 change: 1 addition & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ source 'https://rubygems.org'

gemspec

gem 'bump'
gem 'rack'
gem 'rake'
gem 'rspec', '~> 3.11'
Expand Down
6 changes: 3 additions & 3 deletions config/default.yml
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ RSpec/ChangeByZero:
Description: Prefer negated matchers over `to change.by(0)`.
Enabled: pending
VersionAdded: '2.11'
VersionChanged: "<<next>>"
VersionChanged: '2.14'
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ChangeByZero
NegatedMatcher: ~

Expand Down Expand Up @@ -773,7 +773,7 @@ RSpec/SingleArgumentMessageChain:
RSpec/SortMetadata:
Description: Sort RSpec metadata alphabetically.
Enabled: pending
VersionAdded: "<<next>>"
VersionAdded: '2.14'
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/SortMetadata

RSpec/StubbedMock:
Expand Down Expand Up @@ -936,7 +936,7 @@ RSpec/FactoryBot/ConsistentParenthesesStyle:
SupportedStyles:
- require_parentheses
- omit_parentheses
VersionAdded: "<<next>>"
VersionAdded: '2.14'
Reference: https://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/ConsistentParenthesesStyle

RSpec/FactoryBot/CreateList:
Expand Down
2 changes: 1 addition & 1 deletion docs/antora.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: rubocop-rspec
title: RuboCop RSpec
version: master
version: '2.14'
nav:
- modules/ROOT/nav.adoc
4 changes: 2 additions & 2 deletions docs/modules/ROOT/pages/cops_rspec.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -392,7 +392,7 @@ end
| Yes
| Yes
| 2.11
| <<next>>
| 2.14
|===

Prefer negated matchers over `to change.by(0)`.
Expand Down Expand Up @@ -4472,7 +4472,7 @@ allow(foo).to receive("bar.baz")
| Pending
| Yes
| Yes
| <<next>>
| 2.14
| -
|===

Expand Down
2 changes: 1 addition & 1 deletion docs/modules/ROOT/pages/cops_rspec_factorybot.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ count { 1 }
| Pending
| Yes
| Yes
| <<next>>
| 2.14
| -
|===

Expand Down
2 changes: 1 addition & 1 deletion lib/rubocop/rspec/version.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ module RuboCop
module RSpec
# Version information for the RSpec RuboCop plugin.
module Version
STRING = '2.13.2'
STRING = '2.14.0'
end
end
end
57 changes: 57 additions & 0 deletions tasks/cut_release.rake
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# frozen_string_literal: true

require 'bump'

namespace :cut_release do
def update_file(path)
content = File.read(path)
File.write(path, yield(content))
end

%w[major minor patch pre].each do |release_type|
desc "Cut a new #{release_type} release and update documents."
task release_type do
run(release_type)
end
end

def version_sans_patch(version)
version.split('.').take(2).join('.')
end

# Replace `<<next>>` (and variations) with version being cut.
def update_cop_versions(version)
update_file('config/default.yml') do |default|
default.gsub(/['"]?<<\s*next\s*>>['"]?/i,
"'#{version_sans_patch(version)}'")
end
RuboCop::ConfigLoader.default_configuration = nil # invalidate loaded conf
end

def update_docs(version)
update_file('docs/antora.yml') do |antora_metadata|
antora_metadata.sub('version: master',
"version: '#{version_sans_patch(version)}'")
end
end

def add_header_to_changelog(version)
update_file('CHANGELOG.md') do |changelog|
changelog.sub("## Master (Unreleased)\n\n",
'\0' "## #{version} (#{Time.now.strftime('%F')})\n\n")
end
end

def run(release_type)
old_version = Bump::Bump.current
Bump::Bump.run(release_type, commit: false, bundle: false, tag: false)
new_version = Bump::Bump.current

update_cop_versions(new_version)
`bundle exec rake generate_cops_documentation`
update_docs(new_version)
add_header_to_changelog(new_version)

puts "Changed version from #{old_version} to #{new_version}."
end
end

0 comments on commit 85e6802

Please sign in to comment.