so we will be able to drop Python 3.7 support for the rest of the code base.
Add a new `test_galaxy_packages_for_pulsar` tox environment and modify the
`test.sh` script so that when the `--for-pulsar` argument is passed:
- only the 4 packages used by Pulsar are tested
- mypy checks are skipped
- unit tests don't skip the tests marked with
`external_dependency_management` (i.e. those conda/container-related).
Also:
- Add missing pydantic requirement to the galaxy-objectstore package
- Allow passing GALAXY_CONDA_PYTHON_VERSION environment variable to
the startup script to specify the Python version to use when
creating the `_galaxy_` conda environment.
- Some Shellcheck fixes.
ruff (https://github.com/charliermarsh/ruff) is a new and extremely fast
Python linter, written in Rust.
Ruff can be used to replace Flake8 (plus a variety of plugins), isort,
pydocstyle, yesqa, eradicate, pyupgrade, and autoflake.
Here ruff is added to our current linters (flake8, flake8-bugbear and isort)
while we assess its reliability.
I've not enabled the isort rules because many of the options we use are not
implemented yet. I have instead enabled the pyupgrade rules (a tool which I
run manually every few months).
Also:
- Fix new linting errors reported by ruff.
For ToolShed, we have create_toolshed_db.sh.
For galaxy and toolshed install databases (gxy and tsi branches under
alembic), we use the `init` subcommand of the `db.sh` script (`./db.sh
init`), which has exactly the same functionality as these deleted
scripts.
To the best of my knowledge, these are not used anywhere else (unlike,
for example, scripts/manage_db.py, which is called from the
ansible-galaxy role).
For ToolShed, we have create_toolshed_db.sh.
For galaxy and toolshed install databases (gxy and tsi branches under
alembic), we use the `init` subcommand of the `db.sh` script (`./db.sh
init`), which has exactly the same functionality as these deleted
scripts.
To the best of my knowledge, these are not used anywhere else (unlike,
for example, scripts/manage_db.py, which is called from the
ansible-galaxy role).
- Convert release Makefile targets to a script
- Update package versions from Galaxy version instead of leaving them
uncoupled
- Use next-dev-version process on release branches when in between point
releases
- Automatically detect and increment versions
- Test merging release branches forward before pushing releases
- Support multiple rc versions (will be more useful for package testing)
- Support building local versions of packages
- Tests for the release script
Upgrade syntax using `pyupgrade --py36-plus` .
Manually drop several `six` imports.
Also:
- Remove broken pr_cache in scripts/bootstrap_history.py
- Fix broken prefix removal in lib/galaxy/tool_util/deps/mulled/mulled_build.py