Skip to content

Commit

Permalink
Run Galaxy tests in --dockerize mode as UID of tester.
Browse files Browse the repository at this point in the history
Fixes #1541 and should really help Jenkins clean up after itself.
  • Loading branch information
jmchilton committed Jan 5, 2017
1 parent a78ae1b commit b75ee68
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 4 deletions.
2 changes: 2 additions & 0 deletions run_tests.sh
Expand Up @@ -246,6 +246,8 @@ then
DOCKER_RUN_EXTRA_ARGS="-v ${tmp}:/tmp ${DOCKER_RUN_EXTRA_ARGS}"
shift
fi
UID=$(id -u)
DOCKER_RUN_EXTRA_ARGS="-e GALAXY_TEST_UID=${UID} ${DOCKER_RUN_EXTRA_ARGS}"
echo "Launching docker container for testing..."
docker $DOCKER_EXTRA_ARGS run $DOCKER_RUN_EXTRA_ARGS -e "BUILD_NUMBER=$BUILD_NUMBER" -e "GALAXY_TEST_DATABASE_TYPE=$db_type" --rm -v `pwd`:/galaxy $DOCKER_IMAGE "$@"
exit $?
Expand Down
16 changes: 12 additions & 4 deletions test/docker/base/run_test_wrapper.sh
@@ -1,6 +1,12 @@
#!/bin/bash
set -e

deluser galaxy | true
groupadd -r galaxy -g "$GALAXY_TEST_UID"
useradd -u $GALAXY_TEST_UID -r -g galaxy -d /home/galaxy -c "Galaxy User" galaxy -s /bin/bash
echo "galaxy:galaxy" | chpasswd
chown -R galaxy:galaxy /galaxy_venv

GALAXY_TEST_DATABASE_TYPE=${GALAXY_TEST_DATABASE_TYPE:-"postgres"}
if [ "$GALAXY_TEST_DATABASE_TYPE" = "postgres" ];
then
Expand Down Expand Up @@ -36,17 +42,19 @@ export TOOL_SHED_CONFIG_OVERRIDE_DATABASE_CONNECTION

: ${GALAXY_VIRTUAL_ENV:=.venv}

./scripts/common_startup.sh || { echo "common_startup.sh failed"; exit 1; }
sudo -E -u galaxy ./scripts/common_startup.sh || { echo "common_startup.sh failed"; exit 1; }

dev_requirements=./lib/galaxy/dependencies/dev-requirements.txt
[ -f $dev_requirements ] && $GALAXY_VIRTUAL_ENV/bin/pip install -r $dev_requirements

sh manage_db.sh upgrade
sh manage_db.sh upgrade tool_shed
echo "Upgrading test database..."
sudo -E -u galaxy sh manage_db.sh upgrade
echo "Upgrading tool shed database... $TOOL_SHED_CONFIG_OVERRIDE_DATABASE_CONNECTION"
sudo -E -u galaxy sh manage_db.sh upgrade tool_shed

if [ -z "$GALAXY_NO_TESTS" ];
then
sh run_tests.sh --skip-common-startup $@
sudo -E -u galaxy sh run_tests.sh --skip-common-startup $@
else
GALAXY_CONFIG_MASTER_API_KEY=${GALAXY_CONFIG_MASTER_API_KEY:-"testmasterapikey"}
GALAXY_CONFIG_FILE=${GALAXY_CONFIG_FILE:-config/galaxy.ini.sample}
Expand Down

0 comments on commit b75ee68

Please sign in to comment.