@@ -21,6 +21,10 @@ inputs:
21
21
required : false
22
22
description : " The AWS Role Session Name"
23
23
default : " "
24
+ browser-compatibility-test :
25
+ required : false
26
+ description : " Determines if this job is running as a browser compatibility test"
27
+ default : false
24
28
outputs :
25
29
integ_test_required :
26
30
description : " Whether integration tests are required based on changes"
@@ -48,19 +52,25 @@ runs:
48
52
npm install ../../amazon-chime-sdk-js-$current_version.tgz
49
53
shell : bash
50
54
- name : Configure AWS Credentials
51
- if : steps.test_needed.outputs.integ_test_required == 'true'
55
+ if : |
56
+ steps.test_needed.outputs.integ_test_required == 'true' ||
57
+ inputs.browser-compatibility-test == 'true'
52
58
uses : aws-actions/configure-aws-credentials@v4
53
59
with :
54
60
role-to-assume : ${{ inputs.aws-role-to-assume }}
55
61
role-session-name : ${{ inputs.aws-role-session-name }}
56
62
aws-region : us-east-1
57
63
- name : Setup Node.js - 20.x
58
- if : steps.test_needed.outputs.integ_test_required == 'true'
64
+ if : |
65
+ steps.test_needed.outputs.integ_test_required == 'true' ||
66
+ inputs.browser-compatibility-test == 'true'
59
67
uses : actions/setup-node@v3
60
68
with :
61
69
node-version : 20.x
62
70
- name : Check if SauceLabs credentials are provided
63
- if : steps.test_needed.outputs.integ_test_required == 'true'
71
+ if : |
72
+ steps.test_needed.outputs.integ_test_required == 'true' ||
73
+ inputs.browser-compatibility-test == 'true'
64
74
id : check-sauce
65
75
run : |
66
76
if [ -n "${{ inputs.sauce-username }}" ] && [ -n "${{ inputs.sauce-access-key }}" ]; then
@@ -70,19 +80,27 @@ runs:
70
80
fi
71
81
shell : bash
72
82
- name : Create a Job ID for SauceLabs
73
- if : steps.test_needed.outputs.integ_test_required == 'true' && steps.check-sauce.outputs.use_sauce == 'true'
83
+ if : |
84
+ (steps.test_needed.outputs.integ_test_required == 'true' || inputs.browser-compatibility-test == 'true')
85
+ && steps.check-sauce.outputs.use_sauce == 'true'
74
86
id : create-job-id
75
87
uses : filipstefansson/uuid-action@ce29ebbb0981ac2448c2e406e848bfaa30ddf04c
76
88
- name : Set JOB_ID Env Variable for SauceLabs
77
- if : steps.test_needed.outputs.integ_test_required == 'true' && steps.check-sauce.outputs.use_sauce == 'true'
89
+ if : |
90
+ (steps.test_needed.outputs.integ_test_required == 'true' || inputs.browser-compatibility-test == 'true')
91
+ && steps.check-sauce.outputs.use_sauce == 'true'
78
92
run : echo "JOB_ID=${{ steps.create-job-id.outputs.uuid }}" >> $GITHUB_ENV
79
93
shell : bash
80
94
- name : Echo Job ID for SauceLabs
81
- if : steps.test_needed.outputs.integ_test_required == 'true' && steps.check-sauce.outputs.use_sauce == 'true'
95
+ if : |
96
+ (steps.test_needed.outputs.integ_test_required == 'true' || inputs.browser-compatibility-test == 'true')
97
+ && steps.check-sauce.outputs.use_sauce == 'true'
82
98
run : echo "${{ steps.create-job-id.outputs.uuid }}"
83
99
shell : bash
84
100
- name : Setup Sauce Connect
85
- if : steps.test_needed.outputs.integ_test_required == 'true' && steps.check-sauce.outputs.use_sauce == 'true'
101
+ if : |
102
+ (steps.test_needed.outputs.integ_test_required == 'true' || inputs.browser-compatibility-test == 'true')
103
+ && steps.check-sauce.outputs.use_sauce == 'true'
86
104
87
105
with :
88
106
username : ${{ inputs.sauce-username }}
@@ -91,16 +109,22 @@ runs:
91
109
region : us
92
110
proxyLocalhost : direct
93
111
- name : Setup Chrome for local testing
94
- if : steps.test_needed.outputs.integ_test_required == 'true' && steps.check-sauce.outputs.use_sauce == 'false'
112
+ if : |
113
+ steps.test_needed.outputs.integ_test_required == 'true' &&
114
+ steps.check-sauce.outputs.use_sauce == 'false'
95
115
uses : browser-actions/setup-chrome@latest
96
116
with :
97
117
chrome-version : stable
98
118
- name : Clean Install
99
- if : steps.test_needed.outputs.integ_test_required == 'true'
119
+ if : |
120
+ steps.test_needed.outputs.integ_test_required == 'true' ||
121
+ inputs.browser-compatibility-test == 'true'
100
122
run : npm ci
101
123
shell : bash
102
124
- name : Add testsite host to /etc/hosts for Linux only (fixes 500 internal error when loading the test page)
103
125
shell : bash
104
- if : steps.test_needed.outputs.integ_test_required == 'true' && runner.os == 'Linux'
126
+ if : |
127
+ (steps.test_needed.outputs.integ_test_required == 'true' || inputs.browser-compatibility-test == 'true') &&
128
+ runner.os == 'Linux'
105
129
run : |
106
130
sudo echo "127.0.0.1 testsite" | sudo tee -a /etc/hosts
0 commit comments