diff --git a/.ci/jenkins/api-py3/run_tests.sh b/.ci/jenkins/api-py3/run_tests.sh old mode 100644 new mode 100755 diff --git a/.ci/jenkins/api/run_tests.sh b/.ci/jenkins/api/run_tests.sh old mode 100644 new mode 100755 diff --git a/.ci/jenkins/framework-py3/run_tests.sh b/.ci/jenkins/framework-py3/run_tests.sh old mode 100644 new mode 100755 diff --git a/.ci/jenkins/framework/run_tests.sh b/.ci/jenkins/framework/run_tests.sh old mode 100644 new mode 100755 diff --git a/.ci/jenkins/main-tools-py3/run_tests.sh b/.ci/jenkins/main-tools-py3/run_tests.sh old mode 100644 new mode 100755 diff --git a/.ci/jenkins/main-tools/run_tests.sh b/.ci/jenkins/main-tools/run_tests.sh old mode 100644 new mode 100755 diff --git a/.ci/jenkins/selenium-py3/run_tests.sh b/.ci/jenkins/selenium-py3/run_tests.sh old mode 100644 new mode 100755 diff --git a/.ci/jenkins/selenium/run_tests.sh b/.ci/jenkins/selenium/run_tests.sh old mode 100644 new mode 100755 index 1faafffcd07..067d4b6cc3a --- a/.ci/jenkins/selenium/run_tests.sh +++ b/.ci/jenkins/selenium/run_tests.sh @@ -28,7 +28,7 @@ docker run -e GIT_COMMITTER_NAME=Jenkins -e GIT_COMMITTER_EMAIL=jenkins@galaxypr /bin/bash -c 'make client-production-maps' # Start Selenium server in the test Docker container. -DOCKER_RUN_EXTRA_ARGS="-v $YARN_CACHE_FOLDER:$YARN_CACHE_FOLDER -e YARN_CACHE_FOLDER=$YARN_CACHE_FOLDER -e USE_SELENIUM=1 -e GALAXY_TEST_SELENIUM_RETRIES=${GALAXY_TEST_SELENIUM_RETRIES} -e GALAXY_TEST_ERRORS_DIRECTORY=${GALAXY_TEST_ERRORS_DIRECTORY} -e GALAXY_TEST_SCREENSHOTS_DIRECTORY=${GALAXY_TEST_SCREENSHOTS_DIRECTORY} ${DOCKER_RUN_EXTRA_ARGS}" +DOCKER_RUN_EXTRA_ARGS="--shm-size=2g -v $YARN_CACHE_FOLDER:$YARN_CACHE_FOLDER -e YARN_CACHE_FOLDER=$YARN_CACHE_FOLDER -e USE_SELENIUM=1 -e GALAXY_TEST_SELENIUM_RETRIES=${GALAXY_TEST_SELENIUM_RETRIES} -e GALAXY_TEST_ERRORS_DIRECTORY=${GALAXY_TEST_ERRORS_DIRECTORY} -e GALAXY_TEST_SCREENSHOTS_DIRECTORY=${GALAXY_TEST_SCREENSHOTS_DIRECTORY} ${DOCKER_RUN_EXTRA_ARGS}" export DOCKER_RUN_EXTRA_ARGS ./run_tests.sh --dockerize --db postgres --external_tmp --clean_pyc --skip_flakey_fails --selenium "$@" diff --git a/.ci/jenkins/toolshed/run_tests.sh b/.ci/jenkins/toolshed/run_tests.sh old mode 100644 new mode 100755 diff --git a/.gitignore b/.gitignore index 8edf66370a7..5c9de93c1a3 100644 --- a/.gitignore +++ b/.gitignore @@ -105,6 +105,7 @@ test-data-cache run_framework_tests.html run_functional_tests.html run_integration_tests.html +run_selenium_tests.html run_toolshed_tests.html run_api_tests.html test/tool_shed/tmp/* diff --git a/client/README.md b/client/README.md index bee124929c8..84563e8666c 100644 --- a/client/README.md +++ b/client/README.md @@ -41,11 +41,8 @@ for inspection of live javascript to facilitate debugging, use: make client-production-maps -Important Note: The development branch of Galaxy does not include client script -artifacts, and these should not be committed. When issuing a PR to a stable -branch, please run "make client-production-maps", and include those artifacts. -Or, if you'd rather, include only the /client source changes and build -artifacts can be added by maintainers on merge. +Important Note: The Galaxy repository does not include client script artifacts, +and these should not be committed. Automatic Rebuilding (Watch Mode) diff --git a/client/galaxy/docs/bootstrap.md b/client/galaxy/docs/bootstrap.md index e44d6423e84..ec879739331 100644 --- a/client/galaxy/docs/bootstrap.md +++ b/client/galaxy/docs/bootstrap.md @@ -135,8 +135,8 @@ Disabled ```
- Default Primary + Secondary Success Warning Danger diff --git a/client/galaxy/scripts/apps/analysis.js b/client/galaxy/scripts/apps/analysis.js index f9e55555daf..14e5001eedb 100644 --- a/client/galaxy/scripts/apps/analysis.js +++ b/client/galaxy/scripts/apps/analysis.js @@ -1,6 +1,7 @@ import $ from "jquery"; import "bootstrap"; import * as _ from "underscore"; +import decodeUriComponent from "decode-uri-component"; import GalaxyApp from "galaxy"; import Router from "layout/router"; import ToolPanel from "./panels/tool-panel"; @@ -357,7 +358,12 @@ window.app = function app(options, bootstrapped) { /** load the center panel with a tool form described by the given params obj */ _loadToolForm: function(params) { //TODO: load tool form code async - params.id = decodeURIComponent(params.tool_id); + if (params.tool_id) { + params.id = decodeUriComponent(params.tool_id); + } + if (params.version) { + params.version = decodeUriComponent(params.version); + } this.page.display(new ToolForm.View(params)); }, diff --git a/client/galaxy/scripts/apps/panels/admin-panel.js b/client/galaxy/scripts/apps/panels/admin-panel.js index 56b5bee65f9..d36760fb44b 100644 --- a/client/galaxy/scripts/apps/panels/admin-panel.js +++ b/client/galaxy/scripts/apps/panels/admin-panel.js @@ -146,7 +146,7 @@ var AdminPanel = Backbone.View.extend({ this.$el.empty(); this.categories.each(category => { var $section = $(self._templateSection(category.attributes)); - var $entries = $section.find(".ui-side-section-body"); + var $entries = $section.find(".toolSectionBody"); _.each(category.get("items"), item => { if (item.enabled === undefined || item.enabled) { var $link = $("") @@ -165,7 +165,7 @@ var AdminPanel = Backbone.View.extend({ } $entries.append( $("
") - .addClass("ui-side-section-body-title") + .addClass("toolTitle") .append($link) ); } @@ -175,16 +175,14 @@ var AdminPanel = Backbone.View.extend({ }, _templateSection: function(options) { - return [ - "
", - `
${_l(options.title)}
`, - '
', - "
" - ].join(""); + return `
+
${_l(options.title)}
+
+
`; }, _template: function() { - return '
'; + return '
'; }, toString: function() { diff --git a/client/galaxy/scripts/components/DisplayStructured.vue b/client/galaxy/scripts/components/DisplayStructured.vue index 2e513f1b8f9..3a66b99337b 100644 --- a/client/galaxy/scripts/components/DisplayStructured.vue +++ b/client/galaxy/scripts/components/DisplayStructured.vue @@ -93,7 +93,6 @@ export default { .bold { font-weight: bold; } - .light { font-weight: lighter; color: grey; @@ -101,11 +100,9 @@ export default { .right-aligned { text-align: right; } - .clickable { cursor: pointer; } - .workflow { border: solid gray 1px; margin-bottom: 1%; @@ -120,38 +117,17 @@ export default { .workflow > .body { border-top: solid gray 1px; } -.workflow > .body > .toolForm { +.workflow > .body > .tool { border: 0px; margin: 0; } - -div.toolForm { - border-width: 1px; - border-radius: 0px; - margin-bottom: 1%; +div.tool { + margin-bottom: 5px; + border: 1px solid gray; } -.toolForm > .header { - background-color: #ebd9b2; +.tool > .header { padding: 5px 10px; } -.workflow div.toolForm:not(:first-child) .header { - border-top: 1px solid #d6b161; -} -div.toolFormTitle { - padding: 0px 0px 4px 0px; - margin: 0px 0px 4px 0px; - border: 0px; - background-color: transparent; - border-bottom: 1px solid #d6b161; -} -/* down from EBD9B2 --> 90743A */ -.toolFormTitle > .light { - color: #90743a; -} -.toolForm em { - color: #90743a; -} - .job-inputs { margin: 0px 6px 0px 6px; text-align: left; @@ -159,7 +135,7 @@ div.toolFormTitle { .job-inputs td:nth-child(1) { text-align: right; font-weight: lighter; - color: #90743a; + color: gray; } .job-inputs td:nth-child(1):after { content: ":"; @@ -167,17 +143,13 @@ div.toolFormTitle { .job-inputs td:nth-child(2) { padding-left: 4px; } -.job-inputs em { -} - .job-inputs-show { float: right; } - .copied-from { border: 1px solid lightgrey; border-width: 1px 1px 0px 1px; - margin-bottom: 1%; + margin-bottom: 5px; } .copied-from .header { border-bottom: 1px solid lightgrey; @@ -187,19 +159,4 @@ div.toolFormTitle { .copied-from .header a { color: #888; } - -.dataset.hda { - min-height: 37px; - border-width: 0px 0px 1px 0px; -} -.toolFormBody > .dataset.hda:last-child { - border-bottom-width: 0px; -} -.dataset.hda:first-child { - border-top: 1px solid #d6b161; -} -.dataset.hda .dataset-title-bar { - padding-top: 8px; - padding-left: 10px; -} diff --git a/client/galaxy/scripts/components/PluginList.vue b/client/galaxy/scripts/components/PluginList.vue index 33c02a1cac6..b5d8145947b 100644 --- a/client/galaxy/scripts/components/PluginList.vue +++ b/client/galaxy/scripts/components/PluginList.vue @@ -33,7 +33,7 @@
diff --git a/client/galaxy/scripts/components/RuleCollectionBuilder.vue b/client/galaxy/scripts/components/RuleCollectionBuilder.vue index d4d91620a5c..c9d2d3009f2 100644 --- a/client/galaxy/scripts/components/RuleCollectionBuilder.vue +++ b/client/galaxy/scripts/components/RuleCollectionBuilder.vue @@ -218,7 +218,7 @@
-