-
Notifications
You must be signed in to change notification settings - Fork 6.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: remove inactive browserstack wrapper package (#1991)
* chore: remove inactive browserstack wrapper package No longer uses the "inactive" browserstack wrapper package from npm, which was just responsible for creating the readyfile. We can create the readyfile ourself and get rid of the npm package. * Fix incorrect comments * Don't wait for tunnel if timer exceeded * Fix race conditions * Add empty line before logging that the tunnel is ready.
- Loading branch information
1 parent
26eb7ce
commit 6534eb0
Showing
6 changed files
with
83 additions
and
68 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,72 @@ | ||
export BROWSER_STACK_ACCESS_KEY=`echo $BROWSER_STACK_ACCESS_KEY | rev` | ||
#!/bin/bash | ||
|
||
node ./scripts/browserstack/start_tunnel.js & | ||
set -e -o pipefail | ||
|
||
# Workaround for Travis CI cookbook https://github.com/travis-ci/travis-ci/issues/4862, | ||
# where $PATH will be extended with relative paths to the NPM binaries. | ||
PATH=`echo $PATH | sed -e 's/:\.\/node_modules\/\.bin//'` | ||
|
||
TUNNEL_FILE="BrowserStackLocal-linux-x64.zip" | ||
TUNNEL_URL="https://www.browserstack.com/browserstack-local/$TUNNEL_FILE" | ||
TUNNEL_DIR="/tmp/browserstack-tunnel" | ||
TUNNEL_LOG="$LOGS_DIR/browserstack-tunnel.log" | ||
|
||
BROWSER_STACK_ACCESS_KEY=`echo $BROWSER_STACK_ACCESS_KEY | rev` | ||
|
||
# Cleanup and create the folder structure for the tunnel connector. | ||
rm -rf $TUNNEL_DIR $BROWSER_PROVIDER_READY_FILE | ||
mkdir -p $TUNNEL_DIR | ||
touch $TUNNEL_LOG | ||
|
||
cd $TUNNEL_DIR | ||
|
||
# Download the browserstack local binaries. | ||
curl $TUNNEL_URL -o $TUNNEL_FILE 2> /dev/null 1> /dev/null | ||
|
||
# Extract the browserstack local binaries from the tarball. | ||
mkdir -p browserstack-tunnel | ||
unzip -q $TUNNEL_FILE -d browserstack-tunnel | ||
|
||
# Cleanup the download directory. | ||
rm $TUNNEL_FILE | ||
|
||
ARGS="" | ||
|
||
# Set tunnel-id only on Travis, to make local testing easier. | ||
if [ ! -z "$TRAVIS_JOB_NUMBER" ]; then | ||
ARGS="$ARGS --local-identifier $TRAVIS_JOB_NUMBER" | ||
fi | ||
|
||
echo "Starting Browserstack Local in the background, logging into:" | ||
echo " $TUNNEL_LOG" | ||
echo " ---" | ||
echo " $ARGS" | ||
|
||
# Extension to the BrowserStackLocal binaries, because those can't create a readyfile. | ||
function create_ready_file { | ||
|
||
# To be able to exit the tail properly we need to have a sub shell spawned, which is | ||
# used to track the state of tail. | ||
{ sleep 120; touch $BROWSER_PROVIDER_ERROR_FILE; } & | ||
|
||
TIMER_PID=$! | ||
|
||
# Disown the background process, because we don't want to show any messages when killing | ||
# the timer. | ||
disown | ||
|
||
# When the tail recognizes the `Ctrl-C` log message the BrowserStack Tunnel is up. | ||
{ | ||
tail -n0 -f $TUNNEL_LOG --pid $TIMER_PID | { sed '/Ctrl/q' && kill -9 $TIMER_PID; }; | ||
} &> /dev/null | ||
|
||
echo | ||
echo "BrowserStack Tunnel ready" | ||
|
||
touch $BROWSER_PROVIDER_READY_FILE | ||
} | ||
|
||
browserstack-tunnel/BrowserStackLocal -k $BROWSER_STACK_ACCESS_KEY $ARGS &>> $TUNNEL_LOG & | ||
|
||
# Wait for the tunnel to be ready and create the readyfile with the Browserstack PID | ||
create_ready_file & |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters