# Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. [tox] envlist = local-ci, auto-lint, lint, doc-build, doc-build-multi, code-test, integrate-test, local-integrate-test, py{36,37,38,39} [testenv] allowlist_externals = make git [testenv:auto-lint] extras = style commands = python -m isort . python -m black . python -m autoflake --in-place --remove-all-unused-imports --ignore-init-module-imports --recursive . [testenv:lint] extras = style commands = python -m isort --check . python -m black --check . python -m flake8 python -m autoflake --remove-all-unused-imports --ignore-init-module-imports --check --recursive . [testenv:code-test] extras = test # Run both tests and coverage commands = python -m pytest --cov=pydolphinscheduler --cov-config={toxinidir}/.coveragerc tests/ [testenv:doc-build] extras = doc commands = make -C {toxinidir}/docs clean make -C {toxinidir}/docs html [testenv:doc-build-multi] extras = doc commands = # Get all tags for `multiversion` subcommand git fetch --tags make -C {toxinidir}/docs clean make -C {toxinidir}/docs multiversion [testenv:integrate-test] extras = test commands = python -m pytest tests/integration/ [testenv:local-ci] extras = dev commands = {[testenv:lint]commands} {[testenv:code-test]commands} {[testenv:doc-build]commands}