7 new commits in galaxy-central: https://bitbucket.org/galaxy/galaxy-central/commits/7ad6939e186d/ Changeset: 7ad6939e186d User: dannon Date: 2015-02-18 16:16:26+00:00 Summary: Add .gitignore Affected #: 1 file diff -r b3a0812f9129f8e1e8bdad3a273c3410edba4e7a -r 7ad6939e186d05233166b6a5fc55f16e14de1309 .gitignore --- /dev/null +++ b/.gitignore @@ -0,0 +1,124 @@ +syntax: regexp + +\.svn$ + +syntax: glob + +.hg* +# Downloaded and locally built eggs +eggs +scripts/scramble/build +scripts/scramble/lib +scripts/scramble/archives + +# Python virtualenv +.venv + +# Database stuff +database/beaker_sessions +database/citations +database/community_files +database/compiled_templates +database/files +database/job_working_directory +database/pbs +database/tmp +database/*.sqlite +database/openid_consumer_cache + +# Python bytecode +*.pyc + +# Galaxy Runtime Files +*.lock +*.log +*.pid + +# Tool Shed Runtime Files +tool_shed_webapp.lock +tool_shed_webapp.log +tool_shed_webapp.pid +hgweb.config* +lib/tool_shed/scripts/bootstrap_tool_shed/user_info.xml + +# Reports Runtime Files +reports_webapp.lock +reports_webapp.log +reports_webapp.pid + +# Config files +universe_wsgi.ini +reports_wsgi.ini +tool_shed_wsgi.ini + +# Config files. +datatypes_conf.xml +tool_conf.xml +external_service_types_conf.xml +migrated_tools_conf.xml +shed_tool_conf.xml +tool_data_table_conf.xml +tool_sheds_conf.xml +integrated_tool_panel.xml +openid_conf.xml +shed_tool_data_table_conf.xml +job_conf.xml +data_manager_conf.xml +shed_data_manager_conf.xml +object_store_conf.xml +job_metrics_conf.xml +workflow_schedulers_conf.xml +config/* +static/welcome.html.* +static/welcome.html + +# Tool data. +tool-data/annotation_profiler_options.xml +tool-data/annotation_profiler_valid_builds.txt +tool-data/gatk_annotations.txt +tool-data/gd.restriction_enzymes.txt +tool-data/gd.species.txt +tool-data/shared/igv/igv_build_sites.txt +tool-data/shared/rviewer/rviewer_build_sites.txt +tool-data/shared/ncbi/builds.txt +tool-data/shared/ucsc/builds.txt +tool-data/shared/ensembl/builds.txt +tool-data/shared/ucsc/publicbuilds.txt +tool-data/shared/ucsc/ucsc_build_sites.txt +tool-data/*.loc +tool-data/genome/* + +# Test output +test-data-cache +run_functional_tests.html +test/tool_shed/tmp/* +.coverage +htmlcov +run_unit_tests.html +test/unit/**.log + +# Project files +*.kpf + +# Chrom len files +*.len + +# Jars +tool-data/shared/jars/ + +# CSS build artifacts. +sprite-*.less + +# Local node_modules and bower_components directories +node_modules +bower_components + +# Documentation build files. +doc/build + +# Misc +*.orig +.DS_Store +*.rej +*~ + https://bitbucket.org/galaxy/galaxy-central/commits/a76dbb051400/ Changeset: a76dbb051400 User: erasche2 Date: 2015-02-18 15:21:38+00:00 Summary: Touch up readme for github Affected #: 2 files diff -r 7ad6939e186d05233166b6a5fc55f16e14de1309 -r a76dbb051400b26f50ee9709e0ad8d9950eb8ff5 README.md --- /dev/null +++ b/README.md @@ -0,0 +1,37 @@ +# Galaxy + +[galaxyproject.org](http://galaxyproject.org/) + +The latest information about Galaxy is always available via the Galaxy +website above. + +# Starting Galaxy + +Galaxy requires Python 2.6 or 2.7. To check your python version, run: + +```console +$ python -V +Python 2.7.3 +``` + +Start Galaxy: + +```console +$ sh run.sh +``` + +Once Galaxy completes startup, you should be able to view Galaxy in your +browser at: + +http://localhost:8080 + +You may wish to make changes from the default configuration. This can be done +in the `config/galaxy.ini` file. Tools can be either installed from the Tool Shed +or added manually. For details please see the Galaxy wiki: + +https://wiki.galaxyproject.org/Admin/Tools/AddToolFromToolShedTutorial + +Not all dependencies are included for the tools provided in the sample +`tool_conf.xml`. A full list of external dependencies is available at: + +https://wiki.galaxyproject.org/Admin/Tools/ToolDependencies diff -r 7ad6939e186d05233166b6a5fc55f16e14de1309 -r a76dbb051400b26f50ee9709e0ad8d9950eb8ff5 README.txt --- a/README.txt +++ /dev/null @@ -1,34 +0,0 @@ -GALAXY -====== -http://galaxyproject.org/ - -The latest information about Galaxy is always available via the Galaxy -website above. - -HOW TO START -============ -Galaxy requires Python 2.6 or 2.7. To check your python version, run: - -% python -V -Python 2.7.3 - -Start Galaxy: - -% sh run.sh - -Once Galaxy completes startup, you should be able to view Galaxy in your -browser at: - -http://localhost:8080 - -You may wish to make changes from the default configuration. This can be done -in the config/galaxy.ini file. Tools can be either installed from the Tool Shed -or added manually. For details please see the Galaxy wiki: - -https://wiki.galaxyproject.org/Admin/Tools/AddToolFromToolShedTutorial - - -Not all dependencies are included for the tools provided in the sample -tool_conf.xml. A full list of external dependencies is available at: - -https://wiki.galaxyproject.org/Admin/Tools/ToolDependencies https://bitbucket.org/galaxy/galaxy-central/commits/74a3d684e584/ Changeset: 74a3d684e584 User: erasche2 Date: 2015-02-18 15:22:01+00:00 Summary: Fix section heading Affected #: 1 file diff -r a76dbb051400b26f50ee9709e0ad8d9950eb8ff5 -r 74a3d684e58419b6d78c75db9b16ac094caf597b README.md --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ The latest information about Galaxy is always available via the Galaxy website above. -# Starting Galaxy +## Starting Galaxy Galaxy requires Python 2.6 or 2.7. To check your python version, run: https://bitbucket.org/galaxy/galaxy-central/commits/0aa8ee4a94d8/ Changeset: 0aa8ee4a94d8 User: erasche2 Date: 2015-02-18 15:29:13+00:00 Summary: Add link to issues Affected #: 1 file diff -r 74a3d684e58419b6d78c75db9b16ac094caf597b -r 0aa8ee4a94d8adda2d71d3f765cebc4eabb865a5 README.md --- a/README.md +++ b/README.md @@ -35,3 +35,9 @@ `tool_conf.xml`. A full list of external dependencies is available at: https://wiki.galaxyproject.org/Admin/Tools/ToolDependencies + +## Issues + +Issues can be submitted to trello via the [galaxyproject +website](http://galaxyproject.org/trello/) and viewed on the [Galaxy Trello +Board](https://trello.com/b/75c1kASa/galaxy-development) https://bitbucket.org/galaxy/galaxy-central/commits/02986af924ce/ Changeset: 02986af924ce User: dannon Date: 2015-02-18 16:37:01+00:00 Summary: Update CONTRIBUTING Affected #: 1 file diff -r 0aa8ee4a94d8adda2d71d3f765cebc4eabb865a5 -r 02986af924ce0f6afbbed78a2829fdc38a8c890c CONTRIBUTING.md --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -25,27 +25,24 @@ ## How to Contribute -* If you are new to Mercurial - please check out this [official - tutorial](http://mercurial.selenic.com/wiki/Tutorial) +* If you are new to Git - please check out the very useful tutorials on the [GitHub training hub](https://training.github.com/kit/) -* Make sure you have a free [Bitbucket - account](https://bitbucket.org/account/signup/) +* Make sure you have a free [GitHub account](https://github.com/) -* Fork the galaxy-central repository on - [Bitbucket](https://bitbucket.org/galaxy/galaxy-central/fork) to - make your changes. (Many Galaxy instances target - [galaxy-dist](https://bitbucket.org/galaxy/galaxy-dist) - but active - development happens on galaxy-central and this is where pull - requests should be made). +* Fork the galaxy repository on + [GitHub](https://github.com/galaxyproject/galaxy) to make your changes. + (While many Galaxy instances track + [galaxy-dist](https://bitbucket.org/galaxy/galaxy-dist), active development + happens in the galaxy GitHub repository and this is where pull requests + should be made). -* Choose the correct Mercurial branch to develop your changes against. +* Choose the correct branch to develop your changes against. - * Additions to the code base should be pushed to the `default` - branch (`hg checkout default`). + * Additions to the code base should be pushed to the `dev` branch (`git + checkout dev`). - * Most bug fixes to previously release components (things in - galaxy-dist) should be pushed to the `stable` branch (`hg checkout - stable`). + * Most bug fixes to previously release components (things in galaxy-dist) + should be made against the `master` branch (`git checkout master`). * Serious security problems should not be fixed via pull request - please responsibly disclose these by e-mailing them (with or @@ -76,9 +73,9 @@ with these changes. You pull request message should include: * A description of why the change should be made. - + * A description of implementation of the change. - + * A description of how to test the change. ## Ideas https://bitbucket.org/galaxy/galaxy-central/commits/93b67ff10b23/ Changeset: 93b67ff10b23 User: erasche2 Date: 2015-02-18 16:15:46+00:00 Summary: Add logo Affected #: 1 file diff -r 02986af924ce0f6afbbed78a2829fdc38a8c890c -r 93b67ff10b239978fbb38e78eba9c54b4fa5dd39 README.md --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # Galaxy +![Galaxy Logo](https://wiki.galaxyproject.org/Images/Logos?action=AttachFile&do=get&target=galaxyLogoTrimmed.png) + [galaxyproject.org](http://galaxyproject.org/) The latest information about Galaxy is always available via the Galaxy https://bitbucket.org/galaxy/galaxy-central/commits/43b850d3b54a/ Changeset: 43b850d3b54a User: jmchilton Date: 2015-02-18 05:38:06+00:00 Summary: Add --dockerize and --db [postgres|mysql|sqlite] options to run_tests.sh. Runs tests in a Dockerfile with pre-migrated databases and all testing dependencies (postgres, mysql, npm, casper, phantomjs, etc...). Hopefully this makes it easier to run more interesting tests - down the road I would like to add more options for things like condor, slurm, run as real user, etc.... Affected #: 7 files diff -r 93b67ff10b239978fbb38e78eba9c54b4fa5dd39 -r 43b850d3b54a9f0df417f80ce3d8a03fc28d4452 run_tests.sh --- a/run_tests.sh +++ b/run_tests.sh @@ -29,6 +29,9 @@ --no_cleanup Do not delete temp files for Python functional tests (-toolshed, -framework, etc...) --report_file Path of HTML report to produce (for Python Galaxy functional tests). --xunit_report_file Path of XUnit report to produce (for Python Galaxy functional tests). + --dockerize Run tests in a pre-configured Docker container (must be first argument if present). + --db <type> For use with --dockerize, run tests using partially migrated 'postgres', 'mysql', + or 'sqlite' databases. EOF } @@ -60,6 +63,22 @@ driver="python" +if [ "$1" = "--dockerize" ]; +then + shift + if [ "$1" = "--db" ]; then + db_type=$2 + shift 2 + else + db_type="sqlite" + fi + DOCKER_EXTRA_ARGS=${DOCKER_ARGS:-""} + DOCKER_RUN_EXTRA_ARGS=${DOCKER_ARGS:-""} + DOCKER_IMAGE=${DOCKER_IMAGE:-"galaxyprojectdotorg/testing-base"} + docker $DOCKER_EXTRA_ARGS run $DOCKER_RUN_EXTRA_ARGS -e "GALAXY_TEST_DATABASE_TYPE=$db_type" --rm -v `pwd`:/galaxy $DOCKER_IMAGE "$@" + exit $? +fi + while : do case "$1" in diff -r 93b67ff10b239978fbb38e78eba9c54b4fa5dd39 -r 43b850d3b54a9f0df417f80ce3d8a03fc28d4452 test/docker/README.md --- /dev/null +++ b/test/docker/README.md @@ -0,0 +1,9 @@ +Setup Docker environment for use with testing using the following +commands (until this is on Docker hub). + + % cd test/base + % docker build -t galaxyprojectdotorg/testing-base . + +This will create a docker container ready to run most of Galaxy tests +(functional tests for specific bioinformatics tools may still fail for +now until they are migrated out of Galaxy and to the tool shed). diff -r 93b67ff10b239978fbb38e78eba9c54b4fa5dd39 -r 43b850d3b54a9f0df417f80ce3d8a03fc28d4452 test/docker/base/Dockerfile --- /dev/null +++ b/test/docker/base/Dockerfile @@ -0,0 +1,63 @@ +FROM toolshed/requirements +MAINTAINER John Chilton <jmchilton@gmail.com> + +ENV MYSQL_MAJOR=5.7 \ + MYSQL_VERSION=5.7.5-m15 + +# Pre-install a bunch of packages to speed up ansible steps. +RUN apt-get update -y && apt-get install -y software-properties-common curl && \ + apt-add-repository -y ppa:ansible/ansible && \ + curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \ + echo 'deb https://deb.nodesource.com/node trusty main' > /etc/apt/sources.list.d/nodesource.list && \ + apt-key adv --keyserver pool.sks-keyservers.net --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5 && \ + echo "deb http://repo.mysql.com/apt/ubuntu/ trusty mysql-${MYSQL_MAJOR}-dmr" > /etc/apt/sources.list.d/mysql.list && \ + { \ + echo mysql-community-server mysql-community-server/data-dir select ''; \ + echo mysql-community-server mysql-community-server/root-pass password ''; \ + echo mysql-community-server mysql-community-server/re-root-pass password ''; \ + echo mysql-community-server mysql-community-server/remove-test-db select false; \ + } | debconf-set-selections && \ + apt-get update -y && \ + apt-get install -y libpq-dev postgresql postgresql-client postgresql-plpython-9.3 \ + ansible postgresql-server-dev-9.3 wget mysql-server="${MYSQL_VERSION}"* \ + nodejs && \ + npm install -g grunt-contrib-qunit grunt grunt-cli casperjs phantomjs && \ + apt-get autoremove -y && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +RUN mkdir -p /tmp/ansible && \ + mkdir -p /opt/galaxy/db && \ + chown -R postgres:postgres /opt/galaxy/db && \ + sed -Ei 's/^(bind-address|log)/#&/' /etc/mysql/my.cnf + +ADD start_mysql.sh /opt/galaxy/start_mysql.sh +ADD ansible_vars.yml /tmp/ansible/ansible_vars.yml +ADD provision.yml /tmp/ansible/provision.yml + +ENV PYTHON_EGG_CACHE=/root/.python-eggs \ + GALAXY_ROOT=/opt/galaxy/galaxy-app + +RUN cd /tmp/ansible && \ + mkdir roles && \ + mkdir roles/galaxyprojectdotorg.galaxy-os && \ + wget -qO- https://github.com/galaxyproject/ansible-galaxy-os/archive/master.tar.gz | tar -xzvf- --strip-components=1 -C roles/galaxyprojectdotorg.galaxy-os && \ + mkdir roles/galaxyprojectdotorg.cloudman-database && \ + wget -qO- https://github.com/galaxyproject/ansible-cloudman-database/archive/master.ta... | tar -xzvf- --strip-components=1 -C roles/galaxyprojectdotorg.cloudman-database && \ + mkdir roles/galaxyprojectdotorg.galaxy && \ + wget -qO- https://github.com/galaxyproject/ansible-galaxy/archive/master.tar.gz | tar -xzvf- --strip-components=1 -C roles/galaxyprojectdotorg.galaxy && \ + ANSIBLE_FORCE_COLOR=1 PYTHONUNBUFFERED=1 ansible-playbook /tmp/ansible/provision.yml --tags=image -c local -e "@ansible_vars.yml" && \ + ANSIBLE_FORCE_COLOR=1 PYTHONUNBUFFERED=1 ansible-playbook /tmp/ansible/provision.yml --tags=database -c local -e "@ansible_vars.yml" && \ + ANSIBLE_FORCE_COLOR=1 PYTHONUNBUFFERED=1 ansible-playbook /tmp/ansible/provision.yml --tags=galaxy -c local -e "@ansible_vars.yml" && \ + apt-get autoremove -y && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +RUN cd $GALAXY_ROOT && \ + echo "Prepopuating postgres database" && \ + su -c '/usr/lib/postgresql/9.3/bin/pg_ctl -o "-F" start -D /opt/galaxy/db' postgres && \ + GALAXY_CONFIG_DATABASE_CONNECTION="postgresql://galaxy@localhost:5930/galaxy" sh create_db.sh && \ + echo "Prepopuating sqlite database" && \ + GALAXY_CONFIG_DATABASE_CONNECTION="sqlite:////opt/galaxy/galaxy.sqlite" sh create_db.sh && \ + sh /opt/galaxy/start_mysql.sh && \ + GALAXY_CONFIG_DATABASE_CONNECTION="mysql://galaxy:galaxy@localhost/galaxy?unix_socket=/var/run/mysqld/mysqld.sock" sh create_db.sh + +ADD run_test_wrapper.sh /usr/local/bin/run_test_wrapper.sh + +ENTRYPOINT ["/bin/bash", "/usr/local/bin/run_test_wrapper.sh"] diff -r 93b67ff10b239978fbb38e78eba9c54b4fa5dd39 -r 43b850d3b54a9f0df417f80ce3d8a03fc28d4452 test/docker/base/ansible_vars.yml --- /dev/null +++ b/test/docker/base/ansible_vars.yml @@ -0,0 +1,21 @@ +--- +add_system_users: no +galaxyFS_base_dir: /opt/galaxy +# TODO: use GALAXY_ROOT via cmd line instead +galaxy_server_dir: "{{ galaxyFS_base_dir }}/galaxy-app" +galaxy_venv_dir: "{{ galaxy_server_dir }}/.venv" +galxy_egg_cache: "/home/{{ galaxy_user_name }}/.python-eggs" +galaxy_repo: https://bitbucket.org/galaxy/galaxy-central +galaxy_changeset_id: stable +galaxy_manage_clone: no +galaxy_manage_download: yes +galaxy_root: "{{ galaxy_server_dir}}" +galaxy_db_dir: "{{ galaxyFS_base_dir }}/db" +galaxy_db_port: 5930 +galaxy_db_log: /tmp/pSQL.log +psql_galaxyftp_password: ignoredthis +galaxy_config_file: "{{ galaxy_server_dir }}/config/galaxy.ini" +configure_docker: no +postgresql_bin_dir: /usr/lib/postgresql/9.3/bin +galaxy_manage_database: no + diff -r 93b67ff10b239978fbb38e78eba9c54b4fa5dd39 -r 43b850d3b54a9f0df417f80ce3d8a03fc28d4452 test/docker/base/provision.yml --- /dev/null +++ b/test/docker/base/provision.yml @@ -0,0 +1,15 @@ +- hosts: localhost + connection: local + roles: + - role: galaxyprojectdotorg.galaxy-os + tags: image + sudo: yes + - role: galaxyprojectdotorg.cloudman-database + sudo: yes + sudo_user: postgres + tags: database + - role: galaxyprojectdotorg.galaxy + sudo: yes + tags: galaxy + + diff -r 93b67ff10b239978fbb38e78eba9c54b4fa5dd39 -r 43b850d3b54a9f0df417f80ce3d8a03fc28d4452 test/docker/base/run_test_wrapper.sh --- /dev/null +++ b/test/docker/base/run_test_wrapper.sh @@ -0,0 +1,23 @@ +#!/bin/bash +set -e + +# TODO: switch on environment to boot mysql here... +if [ "$GALAXY_TEST_DATABASE_TYPE" = "postgres" ]; +then + su -c '/usr/lib/postgresql/9.3/bin/pg_ctl -o "-F" start -D /opt/galaxy/db' postgres + sleep 3 + export GALAXY_TEST_DBURI="postgres://galaxy@localhost:5930/galaxy" +elif [ "$GALAXY_TEST_DATABASE_TYPE" = "mysql" ]; +then + sh /opt/galaxy/start_mysql.sh + export GALAXY_TEST_DBURI="mysql://galaxy:galaxy@localhost/galaxy?unix_socket=/var/run/mysqld/mysqld.sock" +elif [ "$GALAXY_TEST_DATABASE_TYPE" = "sqlite" ]; +then + export GALAXY_TEST_DBURI="sqlite:////opt/galaxy/galaxy.sqlite" +else + echo "Unknown database type" + exit 1 +fi +cd /galaxy +GALAXY_CONFIG_OVERRIDE_DATABASE_CONNECTION="$GALAXY_TEST_DBURI" sh manage_db.sh upgrade +sh run_tests.sh $@ diff -r 93b67ff10b239978fbb38e78eba9c54b4fa5dd39 -r 43b850d3b54a9f0df417f80ce3d8a03fc28d4452 test/docker/base/start_mysql.sh --- /dev/null +++ b/test/docker/base/start_mysql.sh @@ -0,0 +1,39 @@ +#!/bin/bash +set -e + +MYSQL_USER=galaxy +MYSQL_PASSWORD=galaxy +MYSQL_DATABASE=galaxy + +mkdir -p /var/lib/mysql +chown -R mysql:mysql /var/lib/mysql + +# Derived from +# https://github.com/docker-library/mysql/blob/master/5.7/docker-entrypoint.sh + +DATADIR="$(mysqld --verbose --help 2>/dev/null | awk '$1 == "datadir" { print $2; exit }')" + +tempSqlFile='/tmp/mysql-first-time.sql' +cat > "$tempSqlFile" <<-EOSQL + DELETE FROM mysql.user ; + CREATE USER 'root'@'%' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}' ; + GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION ; + DROP DATABASE IF EXISTS test ; +EOSQL + +if [ "$MYSQL_DATABASE" ]; then + echo "CREATE DATABASE IF NOT EXISTS \`$MYSQL_DATABASE\` ;" >> "$tempSqlFile" +fi + +if [ "$MYSQL_USER" -a "$MYSQL_PASSWORD" ]; then + echo "CREATE USER '$MYSQL_USER'@'%' IDENTIFIED BY '$MYSQL_PASSWORD' ;" >> "$tempSqlFile" + + if [ "$MYSQL_DATABASE" ]; then + echo "GRANT ALL ON \`$MYSQL_DATABASE\`.* TO '$MYSQL_USER'@'%' ;" >> "$tempSqlFile" + fi +fi + +echo 'FLUSH PRIVILEGES ;' >> "$tempSqlFile" + +mysqld_safe --init-file="$tempSqlFile" & +sleep 5 \ No newline at end of file Repository URL: https://bitbucket.org/galaxy/galaxy-central/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email.