mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-10-13 08:51:38 +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.
26 lines
672 B
Bash
Executable File
26 lines
672 B
Bash
Executable File
#!/bin/bash
|
|
|
|
CHROME_VERSION=$(/usr/bin/google-chrome -version | awk '{ print $3 }')
|
|
|
|
cat <<_EOF
|
|
{
|
|
"capabilities": [
|
|
{
|
|
"version": "$CHROME_VERSION",
|
|
"browserName": "chrome",
|
|
"maxInstances": $NODE_MAX_INSTANCES,
|
|
"seleniumProtocol": "WebDriver",
|
|
"applicationName": "$NODE_APPLICATION_NAME"
|
|
}
|
|
],
|
|
"proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
|
|
"maxSession": $NODE_MAX_SESSION,
|
|
"port": $NODE_PORT,
|
|
"register": true,
|
|
"registerCycle": $NODE_REGISTER_CYCLE,
|
|
"nodePolling": $NODE_POLLING,
|
|
"unregisterIfStillDownAfter": $NODE_UNREGISTER_IF_STILL_DOWN_AFTER,
|
|
"downPollingLimit": $NODE_DOWN_POLLING_LIMIT
|
|
}
|
|
_EOF
|