Skip to content

Commit

Permalink
Re-try to start WebDriver on failure
Browse files Browse the repository at this point in the history
  • Loading branch information
daxpedda committed Dec 10, 2024
1 parent 514fc38 commit 8d74394
Showing 1 changed file with 49 additions and 2 deletions.
51 changes: 49 additions & 2 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -133,8 +133,55 @@ jobs:
- name: Start and set WebDriver
if: matrix.driver.browser == true
run: |
${{ matrix.driver.binary }} --port=9000 &
echo "${{ matrix.driver.env }}_REMOTE=http://127.0.0.1:9000" >> $GITHUB_ENV
iteration=5
while true; do
if (( iteration == 0 )); then
echo "CI: Failed to start driver."
exit 1
fi
(( iteration-- ))
${{ matrix.driver.binary }} --port=0 1>stdout 2>stderr &
process_pid=$!
start_time=$(date +%s)
while [[ $((( $(date +%s) - start_time ))) -lt 5 ]]; do
cat stdout
cat stderr
if [[ $(wc -l < stderr) -gt 0 ]]; then
echo "CI: WebDriver failed"
kill -SIGKILL $process_pid || true
echo
echo "CI: stdout:"
sed 's/^/CI: /' stdout
echo
echo "CI: stderr:"
sed 's/^/CI: /' stderr
echo
echo "CI: Re-trying to start the WebDriver."
break
fi
if [[ $(wc -l < stdout) -gt 0 ]]; then
tail -f stdout >&1 &
tail -f stderr >&2 &
port=$(lsof -p $process_pid -a -i4| tail -n +2 | awk '{print $9}' | cut -d: -f2)
echo "${{ matrix.driver.env }}_REMOTE=http://127.0.0.1:$port" >> $GITHUB_ENV
break 2
fi
sleep 1
done
done
- name: Set environment
if: matrix.environment.name != ''
run: echo "${{ matrix.environment.name }}=1" >> $GITHUB_ENV
Expand Down

0 comments on commit 8d74394

Please sign in to comment.