|
5 | 5 |
|
6 | 6 | set -euo pipefail |
7 | 7 |
|
8 | | -# reduce parallelism to try to make test runners more efficient |
9 | | -#NUM_CPUS=$(grep -c ^processor /proc/cpuinfo) |
10 | | -NUM_CPUS=1 |
11 | | -# Number of CPUs + 1 to have a hot spare. |
12 | | -NUM_BROWSER_NODES=$(( NUM_CPUS + 1 )) |
13 | | - |
14 | 8 | if [ -z "${BASE_URL:-}" ]; |
15 | 9 | then |
16 | 10 | echo "No BASE_URL set, exiting" |
17 | 11 | exit 0; |
18 | 12 | fi |
19 | 13 |
|
20 | | -if [ "${DRIVER}" = "Remote" ]; then |
21 | | - docker compose \ |
22 | | - -f ./bin/integration_tests/docker_compose_for_integration_tests.yml \ |
23 | | - -p "selenium-hub-${CI_JOB_ID}" \ |
24 | | - up -d selenium-hub |
25 | | - |
26 | | - docker compose \ |
27 | | - -f ./bin/integration_tests/docker_compose_for_integration_tests.yml \ |
28 | | - -p "selenium-hub-${CI_JOB_ID}" \ |
29 | | - up -d --scale ${BROWSER_NAME}=${NUM_BROWSER_NODES} ${BROWSER_NAME} |
30 | | - |
31 | | - SELENIUM_HOST="grid" |
32 | | - SELENIUM_PORT=4444 |
33 | | - DOCKER_LINKS=(--link selenium-hub-${CI_JOB_ID}-selenium-hub-1:grid --net selenium-hub-${CI_JOB_ID}_default) |
34 | | - |
35 | | - |
36 | | - echo -n "Waiting for Selenium Grid to get ready..." |
37 | | - IP=$(docker inspect selenium-hub-${CI_JOB_ID}-selenium-hub-1 | jq -r .[0].NetworkSettings.Networks[].IPAddress) |
38 | | - set +e |
39 | | - SELENIUM_READY=$((curl -fs http://${IP}:4444/wd/hub/status | jq -es 'if . == [] then null else .[] | .value.ready end' > /dev/null) || echo "false") |
40 | | - while ! ${SELENIUM_READY}; do |
41 | | - echo -n "." |
42 | | - SELENIUM_READY=$((curl -fs http://${IP}:4444/wd/hub/status | jq -es 'if . == [] then null else .[] | .value.ready end' > /dev/null) || echo "false") |
43 | | - sleep 1s; |
44 | | - done |
45 | | - set -e |
46 | | - echo " done" |
47 | | -fi |
48 | | -
|
49 | 14 | docker pull ${TEST_IMAGE} |
50 | 15 |
|
51 | 16 | docker run \ |
52 | 17 | --name "bedrock-${CI_JOB_ID}" \ |
53 | | - ${DOCKER_LINKS[@]} \ |
54 | | - -e "DRIVER=${DRIVER}" \ |
55 | | - -e "SAUCELABS_USERNAME=${SAUCELABS_USERNAME}" \ |
56 | | - -e "SAUCELABS_API_KEY=${SAUCELABS_API_KEY}" \ |
57 | | - -e "SELENIUM_HOST=${SELENIUM_HOST:-}" \ |
58 | | - -e "SELENIUM_PORT=${SELENIUM_PORT:-}" \ |
59 | | - -e "BROWSER_NAME=${BROWSER_NAME:-}" \ |
60 | | - -e "BROWSER_VERSION=${BROWSER_VERSION:-}" \ |
61 | | - -e "PLATFORM=${PLATFORM:-}" \ |
62 | 18 | -e "MARK_EXPRESSION=${MARK_EXPRESSION:-}" \ |
63 | 19 | -e "BASE_URL=${BASE_URL:-}" \ |
64 | 20 | -e "PYTEST_PROCESSES=${PYTEST_PROCESSES:=4}" \ |
65 | 21 | -e "BOUNCER_URL=${BOUNCER_URL:=https://download.mozilla.org/}" \ |
66 | | - -e "SCREEN_WIDTH=1600" \ |
67 | | - -e "SCREEN_HEIGHT=1200" \ |
68 | 22 | -e "RERUNS_ALLOWED=${RERUNS_ALLOWED:=2}" \ |
69 | 23 | -e "RERUNS_DELAY_SECS=${RERUNS_DELAY_SECS:=1}" \ |
70 | 24 | ${TEST_IMAGE} bin/integration_tests/run_integration_tests.sh |
0 commit comments