-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathaction.yml
More file actions
104 lines (102 loc) · 4.19 KB
/
action.yml
File metadata and controls
104 lines (102 loc) · 4.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
name: 'Run test on Autify for Web'
description: 'Run a test scenario or test plan on Autify for Web.'
author: 'Autify Inc.'
inputs:
access-token:
required: true
description: 'Access token of Autify for Web.'
autify-test-url:
required: true
description: 'URL of a test scenario or test plan e.g. https://app.autify.com/projects/<ID>/(scenarios|test_plans)/<ID>'
wait:
required: false
default: 'false'
description: 'When true, the action waits until the test finishes.'
timeout:
required: false
description: 'Timeout seconds when waiting.'
interval:
required: false
description: 'Interval seconds to poll the test result when waiting.'
url-replacements:
required: false
description: 'URL replacements e.g. http://example.com=http://example.net,http://example.org=http://example.net'
max-retry-count:
required: false
description: 'Maximum retry count while waiting. The command can take up to `timeout * (max-retry-count + 1)`. Only effective with `wait`'
test-execution-name:
required: false
description: 'Name of the test execution (not supported by test plan executions)'
browser:
required: false
description: 'Browser for running the test scenario (not supported by test plan executions)'
device:
required: false
description: 'Device for running the test scenario (not supported by test plan executions)'
device-type:
required: false
description: 'Device type for running the test scenario (not supported by test plan executions)'
os:
required: false
description: 'OS for running the test scenario (not supported by test plan executions)'
os-version:
required: false
description: 'OS version for running the test scenario (not supported by test plan executions)'
autify-connect:
required: false
description: 'Name of the Autify Connect Access Point'
autify-connect-client:
required: false
description: 'When true, start Autify Connect Client'
default: 'false'
autify-connect-client-extra-arguments:
required: false
description: 'Extra command line arguments you want to pass to Autify Connect Client e.g. "--experimental-tunnel-proxy http://proxy".'
autify-path:
required: false
default: 'autify'
description: 'A path to `autify` which will be used to invoke Autify CLI internally. Default is searching from PATH.'
autify-cli-installer-url:
required: false
default: "https://autify-cli-assets.s3.amazonaws.com/autify-cli/channels/stable/install-cicd.bash"
description: 'Autify CLI installer URL'
outputs:
exit-code:
description: 'Exit code of autify-cli. 0 means succeeded.'
value: ${{ steps.run.outputs.exit-code }}
log:
description: 'Log of stdout and stderr.'
value: ${{ steps.run.outputs.log }}
result-url:
description: 'Test result URL on Autify for Web'
value: ${{ steps.run.outputs.result-url }}
runs:
using: 'composite'
steps:
- uses: autifyhq/actions-setup-cli@62decfdbb7902d221d4865ae6170d5dbcd3c90db # v2.1.2
with:
shell-installer-url: ${{ inputs.autify-cli-installer-url }}
- if: ${{ inputs.autify-connect-client == 'true' }}
run: autify connect client install
shell: bash
- id: run
run: $GITHUB_ACTION_PATH/script.bash
shell: bash
env:
INPUT_ACCESS_TOKEN: ${{ inputs.access-token }}
INPUT_AUTIFY_TEST_URL: ${{ inputs.autify-test-url }}
INPUT_WAIT: ${{ inputs.wait }}
INPUT_TIMEOUT: ${{ inputs.timeout }}
INPUT_INTERVAL: ${{ inputs.interval }}
INPUT_URL_REPLACEMENTS: ${{ inputs.url-replacements }}
INPUT_MAX_RETRY_COUNT: ${{ inputs.max-retry-count }}
INPUT_TEST_EXECUTION_NAME: ${{ inputs.test-execution-name }}
INPUT_BROWSER: ${{ inputs.browser }}
INPUT_DEVICE: ${{ inputs.device }}
INPUT_DEVICE_TYPE: ${{ inputs.device-type }}
INPUT_OS: ${{ inputs.os }}
INPUT_OS_VERSION: ${{ inputs.os-version }}
INPUT_AUTIFY_CONNECT: ${{ inputs.autify-connect }}
INPUT_AUTIFY_CONNECT_CLIENT: ${{ inputs.autify-connect-client }}
INPUT_AUTIFY_CONNECT_CLIENT_EXTRA_ARGUMENTS: ${{ inputs.autify-connect-client-extra-arguments }}
INPUT_AUTIFY_PATH: ${{ inputs.autify-path }}