I've been refactoring toward this for at least half a decade. Being able to pip install the API and Selenium tests without bringing in the whole app is important to make them usable outside the context of the app - for testing remote, running servers for instance.
If galaxy-test-driver is available the test cases will still spawn a Galaxy instance if needed, but this is not longer required for import or use.
Since we need the index for browsing repos in the new client
we should incrementally build the index with every repo update.
Having this in tool_shed will make re-use easier.
Follow-up to https://github.com/galaxyproject/galaxy/pull/9271
Also move GitHub client initialisation and check for `requests` closer to where they
are used to prevent error messages when running `make`.
- Allow specifying Python to use to create virtualenv using GALAXY_PYTHON
environment variable.
- Integrate Python support docs from https://galaxyproject.org/admin/python/
- Update virtualenv installation to use v16.7.9
`scripts/common_startup.sh` now prefers python3 when creating Galaxy's
virtual environment, so it needs to be run when inside the tox virtualenv,
where `GALAXY_PYTHON` is defined.
Otherwise, if a virtualenv is active on top of conda base env (e.g. when
running py37-first_startup tox test in TravisCI), the wrong `activate`
script is sourced.
Also fix `CONDA_PREFIX` environment variable definition when using a shell
not supported by conda.
Since at least version 3.7.4 of the `python` package from the `defaults`
conda channel, `python -V` doesn't reveal its origin any more.
Also some fixes suggested by `shellcheck`.
- Allow specifying Python to use to create virtualenv using GALAXY_PYTHON
environment variable.
- Integrate Python support docs from https://galaxyproject.org/admin/python/
- Update virtualenv installation to use v16.7.9