-
Aleksolotl authoredAleksolotl authored
tox.ini 2.29 KiB
[tox]
skipsdist = True
skip_missing_interpreters = true
envlist = py310,py311,py312
[testenv]
allowlist_externals =
poetry
yarnpkg
skip_install = true
commands_pre =
poetry install --all-extras
poetry run aleksis-admin vite build
poetry run aleksis-admin collectstatic --no-input
commands =
poetry run pytest --cov=. {posargs} aleksis/
[testenv:selenium]
setenv =
TEST_SCREENSHOT_PATH = {env:TEST_SCREENSHOT_PATH:.tox/screenshots}
TEST_SELENIUM_HUB = {env:TEST_SELENIUM_HUB:http://127.0.0.1:4444/wd/hub}
TEST_SELENIUM_BROWSERS = {env:TEST_SELENIUM_BROWSERS:chrome,firefox}
TEST_HOST = {env:TEST_HOST:172.17.0.1}
[testenv:lint]
commands_pre =
poetry install
yarnpkg --cwd=.dev-js
commands =
poetry run ruff check {posargs} aleksis/
yarnpkg --cwd=.dev-js run prettier --ignore-path={toxinidir}/.prettierignore {posargs} --check ..
poetry run aleksis-admin graphql_schema --schema aleksis.core.schema.schema --out .dev-js/schema.json
yarnpkg --cwd=.dev-js run eslint ../aleksis/**/*/frontend/**/*.{js,vue,graphql} --config={toxinidir}/.dev-js/.eslintrc.js
[testenv:security]
commands_pre =
poetry install --all-extras
commands =
poetry show --no-dev
poetry run safety check --full-report
[testenv:build]
commands_pre =
poetry install
poetry run sh -c "cd aleksis; aleksis-admin compilemessages"
poetry run aleksis-admin yarn install
poetry run aleksis-admin compile_scss
commands = poetry build
[testenv:docs]
commands_pre =
poetry install --with docs
commands = poetry run make -C docs/ html {posargs}
[testenv:reformat]
commands_pre =
poetry install --only=dev
yarnpkg --cwd=.dev-js
commands =
poetry run ruff format aleksis/
yarnpkg --cwd=.dev-js run prettier --ignore-path={toxinidir}/.prettierignore --write ..
[testenv:makemessages]
commands_pre =
poetry install
commands =
poetry run aleksis-admin makemessages --no-wrap -e html,txt,py,email -i static -l ar -l de_DE -l fr -l nb_NO -l tr_TR -l la -l uk -l ru
poetry run aleksis-admin makemessages --no-wrap -d djangojs -i **/node_modules -l ar -l de_DE -l fr -l nb_NO -l tr_TR -l la -l uk -l ru
[pytest]
DJANGO_SETTINGS_MODULE = aleksis.core.settings
junit_family = legacy
[coverage:run]
omit =
*/migrations/*
*/tests/*
.tox/*
manage.py