1
0
mirror of https://github.com/life4/textdistance.git synced 2021-09-19 22:35:47 +03:00
Files
textdistance-similarity/Taskfile.yml
2021-01-29 10:00:14 +01:00

98 lines
2.1 KiB
YAML

# https://taskfile.dev/
version: "3"
vars:
PYTHON_BIN: python3.7
VENVS: ./venvs/
FLAKE8_ENV: "{{.VENVS}}flake8"
PYTEST_PURE_ENV: "{{.VENVS}}pytest-pure"
PYTEST_EXT_ENV: "{{.VENVS}}pytest-ext"
ISORT_ENV: "{{.VENVS}}isort"
TWINE_ENV: "{{.VENVS}}twine"
TESTS_PATH: tests/
tasks:
venv:create:
status:
- "test -f {{.ENV}}/bin/activate"
cmds:
- "{{.PYTHON_BIN}} -m venv {{.ENV}}"
- "{{.ENV}}/bin/python3 -m pip install -U pip setuptools wheel"
pip:install:
sources:
- pyproject.toml
- "{{.ENV}}/bin/activate"
deps:
- task: venv:create
vars:
ENV: "{{.ENV}}"
cmds:
- "{{.ENV}}/bin/pip install '.[{{.EXTRA}}]'"
twine:install:
deps:
- task: venv:create
vars:
ENV: "{{.TWINE_ENV}}"
cmds:
- "{{.TWINE_ENV}}/bin/pip install twine"
twine:build:
deps:
- twine:install
cmds:
- rm -rf dist/
- "{{.TWINE_ENV}}/bin/python3 setup.py sdist bdist_wheel"
twine:release:
deps:
- twine:build
cmds:
- "{{.TWINE_ENV}}/bin/twine upload dist/textdistance-*"
flake8:install:
status:
- "test -f {{.FLAKE8_ENV}}/bin/flake8"
deps:
- task: venv:create
vars:
ENV: "{{.FLAKE8_ENV}}"
cmds:
- "{{.FLAKE8_ENV}}/bin/python3 -m pip install -r requirements-flake.txt"
flake8:run:
sources:
- "**/*.py"
deps:
- flake8:install
cmds:
- "{{.FLAKE8_ENV}}/bin/flake8 ."
pytest-pure:run:
deps:
- task: pip:install
vars:
ENV: "{{.PYTEST_PURE_ENV}}"
EXTRA: test
cmds:
- "{{.PYTEST_PURE_ENV}}/bin/pytest -m 'not external' {{.ARGS}} {{.TESTS_PATH}}"
pytest-external:run:
deps:
- task: pip:install
vars:
ENV: "{{.PYTEST_EXT_ENV}}"
EXTRA: test,benchmark
cmds:
- "{{.PYTEST_EXT_ENV}}/bin/pytest {{.ARGS}} {{.TESTS_PATH}}"
isort:run:
sources:
- "**/*.py"
deps:
- task: pip:install
vars:
ENV: "{{.ISORT_ENV}}"
EXTRA: tests
cmds:
- "{{.ISORT_ENV}}/bin/isort ."