diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index a32fb6c4e..a0e81a993 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -14,5 +14,3 @@ jobs: python-version: "3.x" - uses: pre-commit/action@v3.0.1 - with: - extra_args: --all-files --hook-stage manual diff --git a/tox.ini b/tox.ini index 6e02e5aee..d6c23bf60 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] requires = tox>=4 -env_list = py{37,38,39,310,311,312}, mypy, html +env_list = py{37,38,39,310,311,312}, ruff, format, mypy, html, misc [testenv] description = Run unit tests @@ -9,14 +9,27 @@ extras = test pass_env = SSH_* commands = pytest --color=yes {posargs} -[testenv:lint] -description = Lint via pre-commit +[testenv:ruff] +description = Lint with Ruff base_python = py{39,310,311,312,38,37} -commands = pre-commit run --all-files --hook-stage manual +deps = ruff +set_env = + CLICOLOR_FORCE = 1 # Set NO_COLOR to override this. +commands = ruff check . + +[testenv:format] +description = Check formatting with Ruff +base_python = py{39,310,311,312,38,37} +deps = ruff +set_env = + CLICOLOR_FORCE = 1 # Set NO_COLOR to override this. +commands = ruff format --check . [testenv:mypy] description = Typecheck with mypy base_python = py{39,310,311,312,38,37} +set_env = + MYPY_FORCE_COLOR = 1 commands = mypy -p git ignore_outcome = true @@ -28,3 +41,10 @@ allowlist_externals = make commands = make BUILDDIR={env_tmp_dir}/doc/build -C doc clean make BUILDDIR={env_tmp_dir}/doc/build -C doc html + +[testenv:misc] +description = Run other checks via pre-commit +base_python = py{39,310,311,312,38,37} +set_env = + SKIP = ruff-format,ruff +commands = pre-commit run --all-files