diff --git a/.ci/tox_envs/flake8/Pipfile b/.ci/tox_envs/flake8/Pipfile new file mode 100644 index 00000000000..1799cac56fd --- /dev/null +++ b/.ci/tox_envs/flake8/Pipfile @@ -0,0 +1,14 @@ +[[source]] + +url = "https://pypi.python.org/simple" +verify_ssl = true +name = "pypi" + + +[dev-packages] + + + +[packages] + +"flake8" = "*" \ No newline at end of file diff --git a/.ci/tox_envs/flake8/requirements.txt b/.ci/tox_envs/flake8/requirements.txt new file mode 100644 index 00000000000..12e76601cc6 --- /dev/null +++ b/.ci/tox_envs/flake8/requirements.txt @@ -0,0 +1,6 @@ +mccabe==0.6.1 --hash=sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42 --hash=sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f +pycodestyle==2.3.1 --hash=sha256:6c4245ade1edfad79c3446fadfc96b0de2759662dc29d07d80a6f27ad1ca6ba9 --hash=sha256:682256a5b318149ca0d2a9185d365d8864a768a28db66a84a2ea946bcc426766 +pyflakes==1.6.0 --hash=sha256:08bd6a50edf8cffa9fa09a463063c425ecaaf10d1eb0335a7e8b1401aef89e6f --hash=sha256:8d616a382f243dbf19b54743f280b80198be0bca3a5396f1d2e1fca6223e8805 +enum34==1.1.6; python_version < '3.4' --hash=sha256:6bd0f6ad48ec2aa117d3d141940d484deccda84d4fcd884f5c3d93c23ecd8c79 --hash=sha256:644837f692e5f550741432dd3f223bbb9852018674981b1664e5dc339387588a --hash=sha256:8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1 --hash=sha256:2d81cbbe0e73112bdfe6ef8576f2238f2ba27dd0d55752a776c41d38b7da2850 +flake8==3.5.0 --hash=sha256:c7841163e2b576d435799169b78703ad6ac1bbb0f199994fc05f700b2a90ea37 --hash=sha256:7253265f7abd8b313e3892944044a365e3f4ac3fcdcfb4298f55ee9ddf188ba0 +configparser==3.5.0; python_version < '3.2' --hash=sha256:5308b47021bc2340965c371f0f058cc6971a04502638d4244225c49d80db273a diff --git a/.ci/tox_envs/flake8_imports/Pipfile b/.ci/tox_envs/flake8_imports/Pipfile new file mode 100644 index 00000000000..479069f0784 --- /dev/null +++ b/.ci/tox_envs/flake8_imports/Pipfile @@ -0,0 +1,15 @@ +[[source]] + +url = "https://pypi.python.org/simple" +verify_ssl = true +name = "pypi" + + +[dev-packages] + + + +[packages] + +"flake8" = "*" +"flake8-import-order" = "*" \ No newline at end of file diff --git a/.ci/tox_envs/flake8_imports/requirements.txt b/.ci/tox_envs/flake8_imports/requirements.txt new file mode 100644 index 00000000000..e5bcbe56858 --- /dev/null +++ b/.ci/tox_envs/flake8_imports/requirements.txt @@ -0,0 +1,7 @@ +mccabe==0.6.1 --hash=sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42 --hash=sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f +pycodestyle==2.3.1 --hash=sha256:6c4245ade1edfad79c3446fadfc96b0de2759662dc29d07d80a6f27ad1ca6ba9 --hash=sha256:682256a5b318149ca0d2a9185d365d8864a768a28db66a84a2ea946bcc426766 +pyflakes==1.6.0 --hash=sha256:08bd6a50edf8cffa9fa09a463063c425ecaaf10d1eb0335a7e8b1401aef89e6f --hash=sha256:8d616a382f243dbf19b54743f280b80198be0bca3a5396f1d2e1fca6223e8805 +enum34==1.1.6; python_version < '3.4' --hash=sha256:6bd0f6ad48ec2aa117d3d141940d484deccda84d4fcd884f5c3d93c23ecd8c79 --hash=sha256:644837f692e5f550741432dd3f223bbb9852018674981b1664e5dc339387588a --hash=sha256:8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1 --hash=sha256:2d81cbbe0e73112bdfe6ef8576f2238f2ba27dd0d55752a776c41d38b7da2850 +flake8-import-order==0.14 --hash=sha256:69aa93a5bdb526310a0bd994e3603122673d1103d8063d3505e45118005044b3 --hash=sha256:77271feabb17d7cc286e9156531bb94781fdf2bbc1690e2fd6fa2776580b2209 +flake8==3.5.0 --hash=sha256:c7841163e2b576d435799169b78703ad6ac1bbb0f199994fc05f700b2a90ea37 --hash=sha256:7253265f7abd8b313e3892944044a365e3f4ac3fcdcfb4298f55ee9ddf188ba0 +configparser==3.5.0; python_version < '3.2' --hash=sha256:5308b47021bc2340965c371f0f058cc6971a04502638d4244225c49d80db273a diff --git a/.ci/tox_envs/update.sh b/.ci/tox_envs/update.sh new file mode 100755 index 00000000000..f3ad89588f8 --- /dev/null +++ b/.ci/tox_envs/update.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +THIS_DIRECTORY="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +ENVS=(flake8 flake8_imports) + +for env in "${ENVS[@]}" +do + cd "$THIS_DIRECTORY/$env" + pipenv lock + pipenv lock -r > requirements.txt +done + +git add -u "$THIS_DIRECTORY" +git commit -m "Rev and re-lock linting dependencies." diff --git a/Makefile b/Makefile index 4c49289d23a..7031b448297 100644 --- a/Makefile +++ b/Makefile @@ -119,6 +119,9 @@ release-check-blocking-prs: ## Check github for release blocking PRs release-bootstrap-history: ## bootstrap history for a new release $(IN_VENV) python scripts/bootstrap_history.py --release $(RELEASE_CURR) +update-linting-requirements: ## update linting dependencies + sh .ci/tox_envs/update.sh + node-deps: ## Install NodeJS dependencies. cd client && yarn install --check-files diff --git a/scripts/bootstrap_history.py b/scripts/bootstrap_history.py index 49c1bfaad57..7b3faa92731 100644 --- a/scripts/bootstrap_history.py +++ b/scripts/bootstrap_history.py @@ -160,7 +160,6 @@ RELEASE_ISSUE_TEMPLATE = string.Template(""" make release-create-rc RELEASE_CURR=${version} RELEASE_NEXT=${next_version} - [ ] Open PRs from your fork of branch ``version-${version}`` to upstream ``release_${version}`` and of ``version-${next_version}.dev`` to ``dev``. - - [ ] Open PR against ``release_${version}`` branch to pin flake8 deps in tox.ini to the latest available version. See [example](https://github.com/galaxyproject/galaxy/pull/3476). - [ ] Update ``next_milestone`` in [P4's configuration](https://github.com/galaxyproject/p4) to `${next_version}` so it properly tags new PRs. - [ ] Set the ``release_${version}`` branch in GitHub [settings](https://github.com/galaxyproject/galaxy/settings/branches) as protected. diff --git a/tox.ini b/tox.ini index 1798790aaa6..0c22801b794 100644 --- a/tox.ini +++ b/tox.ini @@ -5,25 +5,23 @@ skipsdist = True [testenv:py27-lint] commands = bash .ci/flake8_wrapper.sh whitelist_externals = bash -deps = - flake8>=3.4.1 - flake8-docstrings>=1.1.0 - pydocstyle>=2.1.1 +deps = -r.ci/tox_envs/flake8/requirements.txt [testenv:py33-lint] commands = bash .ci/flake8_wrapper.sh whitelist_externals = bash -deps = flake8>=3.4.1 +deps = -r.ci/tox_envs/flake8/requirements.txt + [testenv:py34-lint] commands = bash .ci/flake8_wrapper.sh whitelist_externals = bash -deps = flake8>=3.4.1 +deps = -r.ci/tox_envs/flake8/requirements.txt [testenv:py35-lint] commands = bash .ci/flake8_wrapper.sh whitelist_externals = bash -deps = flake8>=3.4.1 +deps = -r.ci/tox_envs/flake8/requirements.txt [testenv:py27-unit] commands = bash run_tests.sh --no-create-venv -u @@ -43,17 +41,13 @@ deps = commands = bash .ci/flake8_wrapper.sh whitelist_externals = bash skip_install = True -deps = - flake8>=3.4.1 - flake8-import-order>=0.14 +deps = -r.ci/tox_envs/flake8_imports/requirements.txt [testenv:py27-lint-imports-include-list] commands = bash .ci/flake8_wrapper_imports.sh whitelist_externals = bash skip_install = True -deps = - flake8>=3.4.1 - flake8-import-order>=0.14 +deps = -r.ci/tox_envs/flake8_imports/requirements.txt [testenv:qunit] commands = bash run_tests.sh -q @@ -79,19 +73,13 @@ whitelist_externals = bash commands = bash .ci/flake8_wrapper_docstrings.sh --exclude whitelist_externals = bash skip_install = True -deps = - flake8>=3.4.1 - flake8-docstrings>=1.1.0 - pydocstyle>=2.1.1 +deps = -r.ci/tox_envs/flake8/requirements.txt [testenv:py27-lint-docstring-include-list] commands = bash .ci/flake8_wrapper_docstrings.sh --include whitelist_externals = bash skip_install = True -deps = - flake8>=3.4.1 - flake8-docstrings>=1.1.0 - pydocstyle>=2.1.1 +deps = -r.ci/tox_envs/flake8/requirements.txt [testenv:check-python-dependencies] commands = make list-dependency-updates # someday change exit code on this.