| # 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,310,311} |
| |
| [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 --cov-report term --cov-report xml:coverage.xml 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-integrate-test] |
| extras = test |
| setenv = |
| skip_launch_docker = true |
| commands = |
| {[testenv:integrate-test]commands} |
| |
| # local-ci do not build `doc-build-multi` |
| [testenv:local-ci] |
| extras = dev |
| commands = |
| {[testenv:lint]commands} |
| {[testenv:code-test]commands} |
| {[testenv:doc-build]commands} |