appium_lib_core 5.1.0 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +21 -0
- data/README.md +1 -1
- data/appium_lib_core.gemspec +4 -4
- data/lib/appium_lib_core/common/base/bridge.rb +7 -17
- data/lib/appium_lib_core/common/base/driver.rb +25 -0
- data/lib/appium_lib_core/common/command.rb +0 -2
- data/lib/appium_lib_core/driver.rb +13 -5
- data/lib/appium_lib_core/version.rb +2 -2
- metadata +8 -26
- data/.github/ISSUE_TEMPLATE/issue-report.md +0 -29
- data/.github/contributing.md +0 -26
- data/.github/dependabot.yml +0 -8
- data/.github/issue_template.md +0 -20
- data/.github/workflows/codeql-analysis.yml +0 -70
- data/.github/workflows/unittest.yml +0 -67
- data/.gitignore +0 -18
- data/.rubocop.yml +0 -152
- data/azure-pipelines.yml +0 -15
- data/ci-jobs/functional/android_setup.yml +0 -3
- data/ci-jobs/functional/ios_setup.yml +0 -7
- data/ci-jobs/functional/publish_test_result.yml +0 -18
- data/ci-jobs/functional/run_appium.yml +0 -25
- data/ci-jobs/functional/start-emulator.sh +0 -26
- data/ci-jobs/functional_test.yml +0 -298
- data/docs/mobile_command.md +0 -34
- data/release_notes.md +0 -964
- data/script/commands.rb +0 -166
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9c40ff7aa2c8ad3b9c93cd6e9997aa98bbe62d5118184ce58a802edf7c731ec2
|
4
|
+
data.tar.gz: 78eb1cf6946e248a60f0f7b598ab7274add5bbc502f247534ba0d65f14078648
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eecd7b626412b0103ee2bd15ed684d22264a56eac4469adf2b0b3f8ad659c753ba17cbb2009b9ac71168f12636f41aa251962a7889d7bae4673a697c1bce0e63
|
7
|
+
data.tar.gz: cc0f29f03d38beca513472101b19dbf36031a3622aa6cd6edb29c3b296a09b1577ffe6d8fc74a0e7766e10eb21dc60a805f977735b47edd088f9934d4b463960
|
data/CHANGELOG.md
CHANGED
@@ -10,6 +10,27 @@ Read `release_notes.md` for commit level details.
|
|
10
10
|
|
11
11
|
### Deprecations
|
12
12
|
|
13
|
+
## [5.2.0] - 2022-06-19
|
14
|
+
|
15
|
+
### Enhancements
|
16
|
+
|
17
|
+
- Update base Selenium Ruby client to `4.2+`
|
18
|
+
- Please call `key_action` or set `[::Selenium::WebDriver::Interactions.key('keyboard')]` as the deviecs parameter to build `driver.send_keys().perform` W3C action.
|
19
|
+
- `driver.key_action.send_keys('xxx').perform` instead of `driver.action.send_keys('xxx').perform`, or `driver.action(devices: [::Selenium::WebDriver::Interactions.key('keyboard')]).send_keys('xxx').perform`.
|
20
|
+
- [This PR change](https://github.com/appium/ruby_lib_core/pull/381/files) will help to update your some actions.
|
21
|
+
|
22
|
+
## [5.1.2] - 2022-06-02
|
23
|
+
|
24
|
+
### Enhancements
|
25
|
+
|
26
|
+
- Limit selenium webdriver version less than `4.2`
|
27
|
+
|
28
|
+
## [5.1.1] - 2022-04-18
|
29
|
+
|
30
|
+
### Enhancements
|
31
|
+
|
32
|
+
- Remove unneccessry files from gem package to reduce the size.
|
33
|
+
|
13
34
|
## [5.1.0] - 2021-12-25
|
14
35
|
|
15
36
|
### Enhancements
|
data/README.md
CHANGED
@@ -43,7 +43,7 @@ $ appium --relaxed-security # To run all tests in local
|
|
43
43
|
```bash
|
44
44
|
$ bundle install
|
45
45
|
$ rake test:func:android # Andorid, uiautomator2
|
46
|
-
$
|
46
|
+
$ APPIUM_DRIVER=espresso rake test:func:android # Andorid, uiautomator2
|
47
47
|
$ rake test:func:ios # iOS
|
48
48
|
```
|
49
49
|
|
data/appium_lib_core.gemspec
CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
require 'appium_lib_core/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
|
-
spec.required_ruby_version = '>= 2.
|
7
|
+
spec.required_ruby_version = '>= 2.7'
|
8
8
|
|
9
9
|
spec.name = 'appium_lib_core'
|
10
10
|
spec.version = Appium::Core::VERSION
|
@@ -16,13 +16,13 @@ Gem::Specification.new do |spec|
|
|
16
16
|
spec.homepage = 'https://github.com/appium/ruby_lib_core/'
|
17
17
|
spec.license = 'Apache-2.0'
|
18
18
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
19
|
-
f.match(%r{^(doc|test|spec|features)
|
19
|
+
f.match(%r{(^(doc|docs|test|spec|features|ci-jobs|.github|script)/|release_notes.md|.gitignore|azure-pipelines.yml|.rubocop.yml)})
|
20
20
|
end
|
21
21
|
spec.bindir = 'exe'
|
22
22
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
23
23
|
spec.require_paths = ['lib']
|
24
24
|
|
25
|
-
spec.add_runtime_dependency 'selenium-webdriver', '~> 4.
|
25
|
+
spec.add_runtime_dependency 'selenium-webdriver', '~> 4.2'
|
26
26
|
spec.add_runtime_dependency 'faye-websocket', '~> 0.11.0'
|
27
27
|
|
28
28
|
spec.add_development_dependency 'rake', '~> 13.0'
|
@@ -30,7 +30,7 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.add_development_dependency 'minitest', '~> 5.0'
|
31
31
|
spec.add_development_dependency 'minitest-reporters', '~> 1.1'
|
32
32
|
spec.add_development_dependency 'webmock', '~> 3.14.0'
|
33
|
-
spec.add_development_dependency 'rubocop', '1.
|
33
|
+
spec.add_development_dependency 'rubocop', '1.30.1'
|
34
34
|
spec.add_development_dependency 'appium_thor', '~> 1.0'
|
35
35
|
spec.add_development_dependency 'parallel_tests'
|
36
36
|
spec.add_development_dependency 'simplecov'
|
@@ -153,30 +153,26 @@ module Appium
|
|
153
153
|
execute :status
|
154
154
|
end
|
155
155
|
|
156
|
-
# Perform touch actions for W3C module.
|
156
|
+
# Perform 'touch' actions for W3C module.
|
157
157
|
# Generate +touch+ pointer action here and users can use this via +driver.action+
|
158
158
|
# - https://seleniumhq.github.io/selenium/docs/api/rb/Selenium/WebDriver/W3CActionBuilder.html
|
159
159
|
# - https://seleniumhq.github.io/selenium/docs/api/rb/Selenium/WebDriver/PointerActions.html
|
160
160
|
# - https://seleniumhq.github.io/selenium/docs/api/rb/Selenium/WebDriver/KeyActions.html
|
161
161
|
#
|
162
|
-
# The pointer type is 'touch' by default in the Appium Ruby client.
|
162
|
+
# The pointer type is 'touch' by default in the Appium Ruby client.
|
163
163
|
#
|
164
164
|
# @example
|
165
165
|
#
|
166
166
|
# element = @driver.find_element(:id, "some id")
|
167
167
|
# @driver.action.click(element).perform # The 'click' is a part of 'PointerActions'
|
168
168
|
#
|
169
|
-
def action(
|
170
|
-
|
169
|
+
def action(_deprecated_async = nil, async: false, devices: nil)
|
170
|
+
::Selenium::WebDriver::ActionBuilder.new(
|
171
171
|
self,
|
172
|
-
::Selenium::WebDriver::Interactions.pointer(:touch, name: 'touch'),
|
173
|
-
|
174
|
-
|
172
|
+
devices: devices || [::Selenium::WebDriver::Interactions.pointer(:touch, name: 'touch')],
|
173
|
+
async: async,
|
174
|
+
duration: 50 # milliseconds
|
175
175
|
)
|
176
|
-
# Used for default duration of each touch actions.
|
177
|
-
# Override from 250 milliseconds to 50 milliseconds in PointerActions included by ::Selenium::WebDriver::ActionBuilder
|
178
|
-
action_builder.default_move_duration = 0.05
|
179
|
-
action_builder
|
180
176
|
end
|
181
177
|
|
182
178
|
# Port from MJSONWP
|
@@ -189,12 +185,6 @@ module Appium
|
|
189
185
|
::Selenium::WebDriver::Remote::Capabilities.json_create execute(:get_capabilities)
|
190
186
|
end
|
191
187
|
|
192
|
-
# Port from MJSONWP
|
193
|
-
def send_keys_to_active_element(key)
|
194
|
-
text = ::Selenium::WebDriver::Keys.encode(key).join
|
195
|
-
execute :send_keys_to_active_element, {}, { value: text.chars }
|
196
|
-
end
|
197
|
-
|
198
188
|
# For Appium
|
199
189
|
# override
|
200
190
|
def page_source
|
@@ -181,6 +181,31 @@ module Appium
|
|
181
181
|
|
182
182
|
### Methods for Appium
|
183
183
|
|
184
|
+
# Perform 'key' actions for W3C module.
|
185
|
+
# Generate +key+ pointer action here and users can use this via +driver.key_action+
|
186
|
+
# - https://seleniumhq.github.io/selenium/docs/api/rb/Selenium/WebDriver/W3CActionBuilder.html
|
187
|
+
# - https://seleniumhq.github.io/selenium/docs/api/rb/Selenium/WebDriver/KeyActions.html
|
188
|
+
#
|
189
|
+
# The pointer type is 'key' by default in the Appium Ruby client.
|
190
|
+
# +driver.action+ in Appium Ruby client has 'pointer' action by default.
|
191
|
+
# This method is a shortcut to set 'key' type.
|
192
|
+
# Hense this method is equal to +driver.action(devices: [::Selenium::WebDriver::Interactions.key('keyboard')])+
|
193
|
+
# as below example.
|
194
|
+
#
|
195
|
+
# @example
|
196
|
+
#
|
197
|
+
# element = @driver.find_element(:id, "some id")
|
198
|
+
# @driver.key_action.send_key('hiあ').perform # The 'send_key' is a part of 'KeyActions'
|
199
|
+
# # is equal to:
|
200
|
+
# # @driver.action(devices: [::Selenium::WebDriver::Interactions.key('keyboard')]).send_keys('hiあ').perform
|
201
|
+
#
|
202
|
+
def key_action(async: false)
|
203
|
+
@bridge.action(
|
204
|
+
async: async,
|
205
|
+
devices: [::Selenium::WebDriver::Interactions.key('keyboard')]
|
206
|
+
)
|
207
|
+
end
|
208
|
+
|
184
209
|
# Lock the device
|
185
210
|
# @return [String]
|
186
211
|
#
|
@@ -171,8 +171,6 @@ module Appium
|
|
171
171
|
ime_deactivate: [:post, 'session/:session_id/ime/deactivate'],
|
172
172
|
ime_activate_engine: [:post, 'session/:session_id/ime/activate'],
|
173
173
|
|
174
|
-
send_keys_to_active_element: [:post, 'session/:session_id/keys'],
|
175
|
-
|
176
174
|
### Logs
|
177
175
|
get_available_log_types: [:get, 'session/:session_id/log/types'],
|
178
176
|
get_log: [:post, 'session/:session_id/log'],
|
@@ -76,6 +76,13 @@ module Appium
|
|
76
76
|
path: 'directConnectPath'
|
77
77
|
}.freeze
|
78
78
|
|
79
|
+
W3C_KEYS = {
|
80
|
+
protocol: 'appium:directConnectProtocol',
|
81
|
+
host: 'appium:directConnectHost',
|
82
|
+
port: 'appium:directConnectPort',
|
83
|
+
path: 'appium:directConnectPath'
|
84
|
+
}.freeze
|
85
|
+
|
79
86
|
# @return [string] Returns a protocol such as http/https
|
80
87
|
attr_reader :protocol
|
81
88
|
|
@@ -89,10 +96,10 @@ module Appium
|
|
89
96
|
attr_reader :path
|
90
97
|
|
91
98
|
def initialize(capabilities)
|
92
|
-
@protocol = capabilities[KEYS[:protocol]]
|
93
|
-
@host = capabilities[KEYS[:host]]
|
94
|
-
@port = capabilities[KEYS[:port]]
|
95
|
-
@path = capabilities[KEYS[:path]]
|
99
|
+
@protocol = capabilities[W3C_KEYS[:protocol]] || capabilities[KEYS[:protocol]]
|
100
|
+
@host = capabilities[W3C_KEYS[:host]] || capabilities[KEYS[:host]]
|
101
|
+
@port = capabilities[W3C_KEYS[:port]] || capabilities[KEYS[:port]]
|
102
|
+
@path = capabilities[W3C_KEYS[:path]] || capabilities[KEYS[:path]]
|
96
103
|
end
|
97
104
|
end
|
98
105
|
|
@@ -175,7 +182,8 @@ module Appium
|
|
175
182
|
# - <code>directConnectPort</code>
|
176
183
|
# - <code>directConnectPath</code>
|
177
184
|
#
|
178
|
-
#
|
185
|
+
# ignore them if this parameter is <code>false</code>. Defaults to true.
|
186
|
+
# These keys can have <code>appium:</code> prefix.
|
179
187
|
#
|
180
188
|
# @return [Bool]
|
181
189
|
attr_reader :direct_connect
|
@@ -14,7 +14,7 @@
|
|
14
14
|
|
15
15
|
module Appium
|
16
16
|
module Core
|
17
|
-
VERSION = '5.
|
18
|
-
DATE = '
|
17
|
+
VERSION = '5.2.0' unless defined? ::Appium::Core::VERSION
|
18
|
+
DATE = '2022-06-19' unless defined? ::Appium::Core::DATE
|
19
19
|
end
|
20
20
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: appium_lib_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kazuaki MATSUO
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-06-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: selenium-webdriver
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '4.
|
19
|
+
version: '4.2'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '4.
|
26
|
+
version: '4.2'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: faye-websocket
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,14 +114,14 @@ dependencies:
|
|
114
114
|
requirements:
|
115
115
|
- - '='
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 1.
|
117
|
+
version: 1.30.1
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - '='
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: 1.
|
124
|
+
version: 1.30.1
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: appium_thor
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -171,14 +171,6 @@ executables: []
|
|
171
171
|
extensions: []
|
172
172
|
extra_rdoc_files: []
|
173
173
|
files:
|
174
|
-
- ".github/ISSUE_TEMPLATE/issue-report.md"
|
175
|
-
- ".github/contributing.md"
|
176
|
-
- ".github/dependabot.yml"
|
177
|
-
- ".github/issue_template.md"
|
178
|
-
- ".github/workflows/codeql-analysis.yml"
|
179
|
-
- ".github/workflows/unittest.yml"
|
180
|
-
- ".gitignore"
|
181
|
-
- ".rubocop.yml"
|
182
174
|
- CHANGELOG.md
|
183
175
|
- Gemfile
|
184
176
|
- LICENSE.txt
|
@@ -186,16 +178,8 @@ files:
|
|
186
178
|
- Rakefile
|
187
179
|
- Thorfile
|
188
180
|
- appium_lib_core.gemspec
|
189
|
-
- azure-pipelines.yml
|
190
181
|
- bin/console
|
191
182
|
- bin/setup
|
192
|
-
- ci-jobs/functional/android_setup.yml
|
193
|
-
- ci-jobs/functional/ios_setup.yml
|
194
|
-
- ci-jobs/functional/publish_test_result.yml
|
195
|
-
- ci-jobs/functional/run_appium.yml
|
196
|
-
- ci-jobs/functional/start-emulator.sh
|
197
|
-
- ci-jobs/functional_test.yml
|
198
|
-
- docs/mobile_command.md
|
199
183
|
- lib/appium_lib_core.rb
|
200
184
|
- lib/appium_lib_core/android.rb
|
201
185
|
- lib/appium_lib_core/android/device.rb
|
@@ -278,8 +262,6 @@ files:
|
|
278
262
|
- lib/appium_lib_core/windows/bridge.rb
|
279
263
|
- lib/appium_lib_core/windows/device.rb
|
280
264
|
- lib/appium_lib_core/windows/device/screen.rb
|
281
|
-
- release_notes.md
|
282
|
-
- script/commands.rb
|
283
265
|
homepage: https://github.com/appium/ruby_lib_core/
|
284
266
|
licenses:
|
285
267
|
- Apache-2.0
|
@@ -292,14 +274,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
292
274
|
requirements:
|
293
275
|
- - ">="
|
294
276
|
- !ruby/object:Gem::Version
|
295
|
-
version: '2.
|
277
|
+
version: '2.7'
|
296
278
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
297
279
|
requirements:
|
298
280
|
- - ">="
|
299
281
|
- !ruby/object:Gem::Version
|
300
282
|
version: '0'
|
301
283
|
requirements: []
|
302
|
-
rubygems_version: 3.
|
284
|
+
rubygems_version: 3.3.3
|
303
285
|
signing_key:
|
304
286
|
specification_version: 4
|
305
287
|
summary: Minimal Ruby library for Appium.
|
@@ -1,29 +0,0 @@
|
|
1
|
-
---
|
2
|
-
name: issue report
|
3
|
-
about: Create a report to help us improve
|
4
|
-
title: ''
|
5
|
-
labels: ''
|
6
|
-
assignees: ''
|
7
|
-
|
8
|
-
---
|
9
|
-
|
10
|
-
## This is a
|
11
|
-
* [ ] Bug report
|
12
|
-
* [ ] Question
|
13
|
-
* [ ] Feature Request
|
14
|
-
|
15
|
-
## Summary
|
16
|
-
|
17
|
-
## Environment
|
18
|
-
* `ruby_lib_core` version:
|
19
|
-
* Mobile platform/version/device under test:
|
20
|
-
|
21
|
-
## Actual behaviour and steps to reproduce
|
22
|
-
|
23
|
-
## Expected behaviour
|
24
|
-
|
25
|
-
## Link to Appium/Ruby logs
|
26
|
-
|
27
|
-
Create a [GIST](https://gist.github.com) which is a paste of your _full_ Appium logs, and link them here.
|
28
|
-
|
29
|
-
## Any additional comments
|
data/.github/contributing.md
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
# Contributing
|
2
|
-
|
3
|
-
For features or bug fixes, please submit a pull request. Ideally there would be a test as well. The remainder of this doc details how to run the tests.
|
4
|
-
|
5
|
-
## Tests
|
6
|
-
### Unit Tests
|
7
|
-
- `rake test:unit` run on Travis automatically
|
8
|
-
|
9
|
-
### Functional Tests
|
10
|
-
- iOS
|
11
|
-
- `rake test:func:ios`
|
12
|
-
- Android
|
13
|
-
- `rake test:func:android`
|
14
|
-
|
15
|
-
## Merge
|
16
|
-
- Squash and merge when we merge PRs to the master
|
17
|
-
|
18
|
-
## Publishing on rubygems
|
19
|
-
|
20
|
-
0. Ensure you have `~/.gem/credentials` If not run [the following command](http://guides.rubygems.org/make-your-own-gem/) (replace username with your rubygems user)
|
21
|
-
> $ curl -u username https://rubygems.org/api/v1/api_key.yaml >
|
22
|
-
~/.gem/credentials; chmod 0600 ~/.gem/credentials
|
23
|
-
|
24
|
-
1. Bump the version number `thor bump`
|
25
|
-
2. Generate release note, build and publish gem with `thor release`
|
26
|
-
3. Update `changelog.md`
|
data/.github/dependabot.yml
DELETED
data/.github/issue_template.md
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
## This is a
|
2
|
-
* [ ] Bug report
|
3
|
-
* [ ] Question
|
4
|
-
* [ ] Feature Request
|
5
|
-
|
6
|
-
## Summary
|
7
|
-
|
8
|
-
## Environment
|
9
|
-
* `ruby_lib_core` version:
|
10
|
-
* Mobile platform/version/device under test:
|
11
|
-
|
12
|
-
## Actual behaviour and steps to reproduce
|
13
|
-
|
14
|
-
## Expected behaviour
|
15
|
-
|
16
|
-
## Link to Appium/Ruby logs
|
17
|
-
|
18
|
-
Create a [GIST](https://gist.github.com) which is a paste of your _full_ Appium logs, and link them here.
|
19
|
-
|
20
|
-
## Any additional comments
|
@@ -1,70 +0,0 @@
|
|
1
|
-
# For most projects, this workflow file will not need changing; you simply need
|
2
|
-
# to commit it to your repository.
|
3
|
-
#
|
4
|
-
# You may wish to alter this file to override the set of languages analyzed,
|
5
|
-
# or to provide custom queries or build logic.
|
6
|
-
#
|
7
|
-
# ******** NOTE ********
|
8
|
-
# We have attempted to detect the languages in your repository. Please check
|
9
|
-
# the `language` matrix defined below to confirm you have the correct set of
|
10
|
-
# supported CodeQL languages.
|
11
|
-
#
|
12
|
-
name: "CodeQL"
|
13
|
-
|
14
|
-
on:
|
15
|
-
push:
|
16
|
-
branches: [ master ]
|
17
|
-
pull_request:
|
18
|
-
# The branches below must be a subset of the branches above
|
19
|
-
branches: [ master ]
|
20
|
-
schedule:
|
21
|
-
- cron: '39 12 * * 0'
|
22
|
-
|
23
|
-
jobs:
|
24
|
-
analyze:
|
25
|
-
name: Analyze
|
26
|
-
runs-on: ubuntu-latest
|
27
|
-
permissions:
|
28
|
-
actions: read
|
29
|
-
contents: read
|
30
|
-
security-events: write
|
31
|
-
|
32
|
-
strategy:
|
33
|
-
fail-fast: false
|
34
|
-
matrix:
|
35
|
-
language: [ 'ruby' ]
|
36
|
-
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
|
37
|
-
# Learn more about CodeQL language support at https://git.io/codeql-language-support
|
38
|
-
|
39
|
-
steps:
|
40
|
-
- name: Checkout repository
|
41
|
-
uses: actions/checkout@v2
|
42
|
-
|
43
|
-
# Initializes the CodeQL tools for scanning.
|
44
|
-
- name: Initialize CodeQL
|
45
|
-
uses: github/codeql-action/init@v1
|
46
|
-
with:
|
47
|
-
languages: ${{ matrix.language }}
|
48
|
-
# If you wish to specify custom queries, you can do so here or in a config file.
|
49
|
-
# By default, queries listed here will override any specified in a config file.
|
50
|
-
# Prefix the list here with "+" to use these queries and those in the config file.
|
51
|
-
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
52
|
-
|
53
|
-
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
54
|
-
# If this step fails, then you should remove it and run the build manually (see below)
|
55
|
-
- name: Autobuild
|
56
|
-
uses: github/codeql-action/autobuild@v1
|
57
|
-
|
58
|
-
# ℹ️ Command-line programs to run using the OS shell.
|
59
|
-
# 📚 https://git.io/JvXDl
|
60
|
-
|
61
|
-
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
62
|
-
# and modify them (or add more) to build your code if your project
|
63
|
-
# uses a compiled language
|
64
|
-
|
65
|
-
#- run: |
|
66
|
-
# make bootstrap
|
67
|
-
# make release
|
68
|
-
|
69
|
-
- name: Perform CodeQL Analysis
|
70
|
-
uses: github/codeql-action/analyze@v1
|
@@ -1,67 +0,0 @@
|
|
1
|
-
name: Runs lint and unit tests
|
2
|
-
|
3
|
-
on:
|
4
|
-
push:
|
5
|
-
branches: [ master ]
|
6
|
-
pull_request:
|
7
|
-
branches: [ master ]
|
8
|
-
|
9
|
-
jobs:
|
10
|
-
test:
|
11
|
-
strategy:
|
12
|
-
fail-fast: false
|
13
|
-
matrix:
|
14
|
-
ruby: [2.6, 2.7, 3.0, 3.1]
|
15
|
-
|
16
|
-
runs-on: ubuntu-latest
|
17
|
-
|
18
|
-
env:
|
19
|
-
UNIT_TEST: true
|
20
|
-
|
21
|
-
steps:
|
22
|
-
- uses: actions/checkout@v2
|
23
|
-
- name: Set up Ruby
|
24
|
-
uses: ruby/setup-ruby@v1
|
25
|
-
with:
|
26
|
-
ruby-version: ${{ matrix.ruby }}
|
27
|
-
- name: Install dependencies
|
28
|
-
run: bundle install
|
29
|
-
- name: Run tests
|
30
|
-
run: |
|
31
|
-
bundle exec rake rubocop
|
32
|
-
bundle exec rake test:unit
|
33
|
-
AUTOMATION_NAME_DROID=espresso bundle exec rake test:unit:android
|
34
|
-
AUTOMATION_NAME_DROID=appium AUTOMATION_NAME_IOS=appium bundle exec rake test:unit
|
35
|
-
|
36
|
-
test-win:
|
37
|
-
strategy:
|
38
|
-
fail-fast: false
|
39
|
-
matrix:
|
40
|
-
ruby: [2.6, 2.7, 3.0]
|
41
|
-
|
42
|
-
runs-on: windows-latest
|
43
|
-
|
44
|
-
env:
|
45
|
-
UNIT_TEST: true
|
46
|
-
|
47
|
-
steps:
|
48
|
-
- uses: actions/checkout@v2
|
49
|
-
- name: Set up Ruby
|
50
|
-
uses: ruby/setup-ruby@v1
|
51
|
-
with:
|
52
|
-
ruby-version: ${{ matrix.ruby }}
|
53
|
-
- name: Install dependencies
|
54
|
-
run: |
|
55
|
-
gem install ffi
|
56
|
-
bundle install
|
57
|
-
gem uninstall --force eventmachine && gem install eventmachine --platform ruby
|
58
|
-
- name: Run tests
|
59
|
-
run: |
|
60
|
-
rake test:unit
|
61
|
-
|
62
|
-
setx AUTOMATION_NAME_DROID espresso
|
63
|
-
rake test:unit:android
|
64
|
-
|
65
|
-
setx AUTOMATION_NAME_DROID appium
|
66
|
-
setx AUTOMATION_NAME_IOS appium
|
67
|
-
rake test:unit
|