Files
cordova-plugin-advanced-http/scripts/upload-browserstack.sh
2025-12-02 06:45:43 +01:00

41 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
set -e
PLATFORM=$([[ "${@#--android}" = "$@" ]] && echo "ios" || echo "android")
ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )"; cd ..; pwd )"
TEMP=$ROOT/temp
if [ -z $BROWSERSTACK_USERNAME ] || [ -z $BROWSERSTACK_ACCESS_KEY ]; then
echo "Skipping uploading artifact, because BrowserStack credentials are not set.";
exit 0;
fi
if [ $PLATFORM = "android" ]; then
curl -u $BROWSERSTACK_USERNAME:$BROWSERSTACK_ACCESS_KEY \
-X POST \
https://api-cloud.browserstack.com/app-automate/upload \
-F "file=@$TEMP/platforms/android/app/build/outputs/apk/debug/app-debug.apk" \
-F "data={\"custom_id\": \"HttpTestAppAndroid\"}"
else
rm -rf "$TEMP/HttpDemo.ipa"
IOS_BUILD_DIR="$TEMP/platforms/ios/build/Debug-iphonesimulator"
APP_PATH="$IOS_BUILD_DIR/HttpDemo.app"
if [ ! -d "$APP_PATH" ]; then
echo "Unable to locate $APP_PATH" >&2
exit 1
fi
PAYLOAD_DIR="$TEMP/Payload"
rm -rf "$PAYLOAD_DIR"
mkdir -p "$PAYLOAD_DIR"
cp -R "$APP_PATH" "$PAYLOAD_DIR/HttpDemo.app"
(cd "$TEMP" && zip -qr HttpDemo.ipa Payload)
rm -rf "$PAYLOAD_DIR"
curl -u $BROWSERSTACK_USERNAME:$BROWSERSTACK_ACCESS_KEY \
-X POST \
https://api-cloud.browserstack.com/app-automate/upload \
-F "file=@$TEMP/HttpDemo.ipa" \
-F "data={\"custom_id\": \"HttpTestAppIos\"}"
fi