[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