Skip to content

Commit 3bcadb1

Browse files
authored
feat: Bump ruby selenium and mini Ruby version (#584)
* bump mini ruby version to 3.1 * update more * update gemfiles
1 parent 46a96f5 commit 3bcadb1

File tree

8 files changed

+102
-22
lines changed

8 files changed

+102
-22
lines changed

.github/workflows/unittest.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
strategy:
1212
fail-fast: false
1313
matrix:
14-
ruby: [3.0, 3.1, 3.2]
14+
ruby: [3.1, 3.2, 3.3]
1515

1616
runs-on: ubuntu-latest
1717

@@ -38,7 +38,7 @@ jobs:
3838
strategy:
3939
fail-fast: false
4040
matrix:
41-
ruby: [3.0, 3.1, 3.2]
41+
ruby: [3.1, 3.2, 3.3]
4242

4343
runs-on: windows-latest
4444

.rubocop.yml

Lines changed: 82 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
AllCops:
2-
TargetRubyVersion: 2.6
2+
TargetRubyVersion: 3.1
33
Layout/LineLength:
44
Max: 128
55
Layout/RescueEnsureAlignment:
@@ -75,7 +75,7 @@ Lint/AmbiguousRange:
7575
Lint/DeprecatedConstants:
7676
Enabled: true
7777
Lint/DuplicateBranch:
78-
Enabled: true
78+
Enabled: false
7979
Lint/DuplicateRegexpCharacterClassElement:
8080
Enabled: true
8181
Lint/EmptyBlock:
@@ -114,6 +114,7 @@ Security/IoMethods:
114114
Enabled: true
115115
Style/ArgumentsForwarding:
116116
Enabled: true
117+
UseAnonymousForwarding: false
117118
Style/CollectionCompact:
118119
Enabled: true
119120
Style/DocumentDynamicEvalDefinition:
@@ -170,12 +171,11 @@ Lint/RequireRangeParentheses: # new in 1.32
170171
Enabled: true
171172
Lint/UselessRescue: # new in 1.43
172173
Enabled: true
173-
Lint/DuplicateBranch:
174-
Enabled: false
175174
Metrics/CollectionLiteralLength: # new in 1.47
176175
Enabled: true
177176
Naming/BlockForwarding: # new in 1.24
178177
Enabled: true
178+
EnforcedStyle: explicit
179179
Security/CompoundHash: # new in 1.28
180180
Enabled: true
181181
Style/ArrayIntersect: # new in 1.40
@@ -228,3 +228,81 @@ Style/RedundantStringEscape: # new in 1.37
228228
Enabled: true
229229
Style/RegexpLiteral:
230230
Enabled: false
231+
Gemspec/AddRuntimeDependency: # new in 1.65
232+
Enabled: true
233+
Lint/ConstantReassignment: # new in 1.70
234+
Enabled: true
235+
Lint/DuplicateMatchPattern: # new in 1.50
236+
Enabled: true
237+
Lint/DuplicateSetElement: # new in 1.67
238+
Enabled: true
239+
Lint/HashNewWithKeywordArgumentsAsDefault: # new in 1.69
240+
Enabled: true
241+
Lint/ItWithoutArgumentsInBlock: # new in 1.59
242+
Enabled: true
243+
Lint/LiteralAssignmentInCondition: # new in 1.58
244+
Enabled: true
245+
Lint/MixedCaseRange: # new in 1.53
246+
Enabled: true
247+
Lint/NumericOperationWithConstantResult: # new in 1.69
248+
Enabled: true
249+
Lint/RedundantRegexpQuantifiers: # new in 1.53
250+
Enabled: true
251+
Lint/SharedMutableDefault: # new in 1.70
252+
Enabled: true
253+
Lint/UnescapedBracketInRegexp: # new in 1.68
254+
Enabled: true
255+
Lint/UselessDefined: # new in 1.69
256+
Enabled: true
257+
Lint/UselessNumericOperation: # new in 1.66
258+
Enabled: true
259+
Style/AmbiguousEndlessMethodDefinition: # new in 1.68
260+
Enabled: true
261+
Style/BitwisePredicate: # new in 1.68
262+
Enabled: true
263+
Style/CombinableDefined: # new in 1.68
264+
Enabled: true
265+
Style/DataInheritance: # new in 1.49
266+
Enabled: true
267+
Style/DigChain: # new in 1.69
268+
Enabled: true
269+
Style/ExactRegexpMatch: # new in 1.51
270+
Enabled: true
271+
Style/FileNull: # new in 1.69
272+
Enabled: true
273+
Style/FileTouch: # new in 1.69
274+
Enabled: true
275+
Style/ItAssignment: # new in 1.70
276+
Enabled: true
277+
Style/KeywordArgumentsMerging: # new in 1.68
278+
Enabled: true
279+
Style/MapIntoArray: # new in 1.63
280+
Enabled: true
281+
Style/RedundantArrayConstructor: # new in 1.52
282+
Enabled: true
283+
Style/RedundantCurrentDirectoryInPath: # new in 1.53
284+
Enabled: true
285+
Style/RedundantFilterChain: # new in 1.52
286+
Enabled: true
287+
Style/RedundantInterpolationUnfreeze: # new in 1.66
288+
Enabled: true
289+
Style/RedundantLineContinuation: # new in 1.49
290+
Enabled: true
291+
Style/RedundantRegexpArgument: # new in 1.53
292+
Enabled: true
293+
Style/RedundantRegexpConstructor: # new in 1.52
294+
Enabled: true
295+
Style/ReturnNilInPredicateMethodDefinition: # new in 1.53
296+
Enabled: true
297+
Style/SafeNavigationChainLength: # new in 1.68
298+
Enabled: true
299+
Style/SendWithLiteralMethodName: # new in 1.64
300+
Enabled: true
301+
Style/SingleLineDoEndBlock: # new in 1.57
302+
Enabled: true
303+
Style/SuperArguments: # new in 1.64
304+
Enabled: true
305+
Style/SuperWithArgsParentheses: # new in 1.58
306+
Enabled: true
307+
Style/YAMLFileRead: # new in 1.53
308+
Enabled: true

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Read `release_notes.md` for commit level details.
99
### Bug fixes
1010

1111
### Deprecations
12+
- Drop Ruby 3.0 by following selenium binding
1213

1314
## [9.4.0] - 2025-01-08
1415

Gemfile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,14 @@ source 'https://rubygems.org'
22

33
# Specify your gem's dependencies in appium_lib_core.gemspec
44
gemspec
5+
6+
gem 'appium_thor', '~> 2.0'
7+
gem 'minitest', '~> 5.0'
8+
gem 'minitest-reporters', '~> 1.1'
9+
gem 'parallel_tests'
10+
gem 'rake', '~> 13.0'
11+
gem 'rubocop', '1.70.0'
12+
gem 'simplecov'
13+
gem 'steep', '~> 1.7.0'
14+
gem 'webmock', '~> 3.24.0'
15+
gem 'yard', '~> 0.9.11'

appium_lib_core.gemspec

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
33
require 'appium_lib_core/version'
44

55
Gem::Specification.new do |spec|
6-
spec.required_ruby_version = Gem::Requirement.new('>= 3.0')
6+
spec.required_ruby_version = Gem::Requirement.new('>= 3.1')
77

88
spec.name = 'appium_lib_core'
99
spec.version = Appium::Core::VERSION
@@ -21,18 +21,8 @@ Gem::Specification.new do |spec|
2121
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
2222
spec.require_paths = ['lib']
2323

24-
spec.add_runtime_dependency 'faye-websocket', '~> 0.11.0'
25-
spec.add_runtime_dependency 'selenium-webdriver', '~> 4.21'
24+
spec.add_dependency 'faye-websocket', '~> 0.11.0'
25+
spec.add_dependency 'selenium-webdriver', '~> 4.21'
2626

27-
spec.add_development_dependency 'appium_thor', '~> 2.0'
28-
spec.add_development_dependency 'minitest', '~> 5.0'
29-
spec.add_development_dependency 'minitest-reporters', '~> 1.1'
30-
spec.add_development_dependency 'parallel_tests'
31-
spec.add_development_dependency 'rake', '~> 13.0'
32-
spec.add_development_dependency 'rubocop', '1.70.0'
33-
spec.add_development_dependency 'simplecov'
34-
spec.add_development_dependency 'steep', '~> 1.7.0'
35-
spec.add_development_dependency 'webmock', '~> 3.24.0'
36-
spec.add_development_dependency 'yard', '~> 0.9.11'
3727
spec.metadata['rubygems_mfa_required'] = 'true'
3828
end

lib/appium_lib_core/common/base/http_default.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ module RequestHeaders
3131
class Default < ::Selenium::WebDriver::Remote::Http::Default
3232
attr_reader :additional_headers
3333

34-
::Selenium::WebDriver::Remote::Http::Common.user_agent = \
34+
::Selenium::WebDriver::Remote::Http::Common.user_agent =
3535
"appium/ruby_lib_core/#{VERSION} (#{::Selenium::WebDriver::Remote::Http::Common.user_agent})"
3636

3737
# override

lib/appium_lib_core/support/event_firing_bridge.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class EventFiringBridge < ::Selenium::WebDriver::Support::EventFiringBridge
2121

2222
def initialize(delegate, listener, **opts)
2323
@appium_options = opts
24-
super delegate, listener
24+
super(delegate, listener)
2525
end
2626

2727
def find_element_by(how, what, parent = nil)

test/test_helper.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
# Ignore since Minitest::Reporters::JUnitReporter.new fails in deleting files, sometimes
3131
end
3232

33-
ROOT_REPORT_PATH = "#{Dir.pwd}/test/report"
33+
ROOT_REPORT_PATH = "#{Dir.pwd}/test/report".freeze
3434
START_AT = Time.now.strftime('%Y-%m-%d-%H%M%S').freeze
3535

3636
Dir.mkdir(ROOT_REPORT_PATH) unless Dir.exist? ROOT_REPORT_PATH

0 commit comments

Comments
 (0)