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 278d43a
Showing 1 changed file with 47 additions and 1 deletion.
48 changes: 47 additions & 1 deletion .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,53 @@ jobs:
- name: Start and set WebDriver
if: matrix.driver.browser == true
run: |
${{ matrix.driver.binary }} --port=9000 &
iteration=5
while true; do
if (( iteration == 0 )); then
echo "CI: Failed to start driver."
exit 1
fi
(( iteration-- ))
${{ matrix.driver.binary }} --port=9000 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
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
break 2
fi
sleep 1
done
done
tail -f stdout >&1 &
tail -f stderr >&2 &
echo "${{ matrix.driver.env }}_REMOTE=http://127.0.0.1:9000" >> $GITHUB_ENV
- name: Set environment
if: matrix.environment.name != ''
Expand Down

0 comments on commit 278d43a

Please sign in to comment.