@@ -9,6 +9,7 @@ RETRY_INTERVAL=10
9
9
# API URLs
10
10
TRIGGER_URL=" https://api-cloud.browserstack.com/app-automate/flutter-integration-tests/v2/android/build"
11
11
STATUS_URL=" https://api-cloud.browserstack.com/app-automate/flutter-integration-tests/v2/android/builds"
12
+ DEVICES_URL=" https://api-cloud.browserstack.com/app-automate/devices"
12
13
13
14
# Retrieve vars from environment variables
14
15
CREDENTIALS=" ${BROWSERSTACK_CREDENTIALS:- } "
@@ -24,13 +25,25 @@ if [[ -z "$CREDENTIALS" ]]; then
24
25
exit 1
25
26
fi
26
27
27
- if [[ -z " $APP " || -z " $TEST_SUITE " || -z " $BUILD_TAG " || -z " $DEVICES " ]]; then
28
+ if [[ -z " $PROJECT " || -z " $ APP" || -z " $TEST_SUITE " || -z " $BUILD_TAG " || -z " $DEVICES " ]]; then
28
29
echo " Error: Environment variables" \
29
30
" BROWSERSTACK_PROJECT, BROWSERSTACK_APP, BROWSERSTACK_TEST_SUITE, BROWSERSTACK_BUILD_TAG and BROWSERSTACK_DEVICES" \
30
31
" must be set."
31
32
exit 1
32
33
fi
33
34
35
+ # Function to get a list of available devices
36
+ get_available_devices () {
37
+ local response=$( curl -s -u " $CREDENTIALS " -X GET " $DEVICES_URL " )
38
+ if [[ -z " $response " ]]; then
39
+ echo " Failed to fetch available devices."
40
+ return 1
41
+ fi
42
+
43
+ echo " Available devices:"
44
+ echo " $response " | jq -r ' .[] | "Device: " + .device + ", OS Version: " + .os_version'
45
+ }
46
+
34
47
# Function to trigger the build
35
48
trigger_build () {
36
49
local response=$( curl -s -u " $CREDENTIALS " \
@@ -91,6 +104,10 @@ check_build_status() {
91
104
}
92
105
93
106
# Main
107
+ if [[ " $ACTIONS_RUNNER_DEBUG " == " true" ]]; then
108
+ get_available_devices
109
+ fi
110
+
94
111
if ! BUILD_ID=$( trigger_build) ; then
95
112
echo " Trigger build failed. Message: $BUILD_ID "
96
113
exit 9
0 commit comments