mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
- Bake Selenium (chrome, chrome-wrapper, xvfb, and Selenium server) into Docker test image. (1) - Correct usage of common_startup.sh to fetch dev wheels (don't use pip directly). - Fix/enhance the test wrapper file to not set GALAXY_CONFIG_OVERRIDE_DATABASE_CONNECATION - this prevents integration database templating (#4887) from working with the Docker image. - Update target Dockerfile. 1) The Docker compose setup for Selenium tests currently used by Jenkins is nice in that it uses official Selenium and Postgres Docker images - but it is problematic in that it takes more resources than the other single container Docker jobs, it doesn't cleanup as nicely, it doesn't have a pre-migrated database or pre-installed dependencies so it takes longer to run, and isn't easily exposed to developers via run_tests.sh. A more pragmatic Jenkins job based on this work should be runnable for every PR - the current variant simply takes too long and requires too many resources.
29 lines
599 B
Bash
Executable File
29 lines
599 B
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# IMPORTANT: Change this file only in directory Standalone!
|
|
|
|
source /opt/bin/functions.sh
|
|
|
|
export GEOMETRY="$SCREEN_WIDTH""x""$SCREEN_HEIGHT""x""$SCREEN_DEPTH"
|
|
|
|
function shutdown {
|
|
kill -s SIGTERM $NODE_PID
|
|
wait $NODE_PID
|
|
}
|
|
|
|
if [ ! -z "$SE_OPTS" ]; then
|
|
echo "appending selenium options: ${SE_OPTS}"
|
|
fi
|
|
|
|
SERVERNUM=$(get_server_num)
|
|
|
|
rm -f /tmp/.X*lock
|
|
|
|
xvfb-run -n $SERVERNUM --server-args="-screen 0 $GEOMETRY -ac +extension RANDR" \
|
|
java ${JAVA_OPTS} -jar /opt/selenium/selenium-server-standalone.jar \
|
|
${SE_OPTS} &
|
|
NODE_PID=$!
|
|
|
|
trap shutdown SIGTERM SIGINT
|
|
wait $NODE_PID
|