[testenv]
usedevelop = True
-basepython = python3
+basepython = python3.10
setenv = VIRTUAL_ENV={envdir}
PYTHONDONTWRITEBYTECODE = 1
deps = -r{toxinidir}/requirements.txt
coverage report --omit='*tests*'
coverage html -d ./cover --omit='*tests*'
coverage xml -o coverage.xml --omit=*tests*
-whitelist_externals = sh
+allowlist_externals = sh
#######################################################################################
[testenv:flake8]
-deps = flake8
+deps =
+ flake8
+ flake8-import-order
commands =
flake8 osm_common/ setup.py
#######################################################################################
[testenv:pip-compile]
-deps = pip-tools==5.5.0
+deps = pip-tools==6.6.2
+skip_install = true
+allowlist_externals = bash
+ [
commands =
- - sh -c 'for file in requirements*.in ; do pip-compile -rU --no-header $file ;\
- out=`echo $file | sed "s/.in/.txt/"` ; \
- head -16 tox.ini >> $out ;\
- done'
-whitelist_externals = sh
+ - bash -c "for file in requirements*.in ; do \
+ UNSAFE="" ; \
+ if [[ $file =~ 'dist' ]] ; then UNSAFE='--allow-unsafe' ; fi ; \
+ pip-compile -rU --no-header $UNSAFE $file ;\
+ out=`echo $file | sed 's/.in/.txt/'` ; \
+ sed -i -e '1 e head -16 tox.ini' $out ;\
+ done"
#######################################################################################
[testenv:dist]
python3 setup.py --command-packages=stdeb.command sdist_dsc
sh -c 'cd deb_dist/osm-common*/ && dpkg-buildpackage -rfakeroot -uc -us'
sh -c 'rm osm_common/requirements.txt'
-whitelist_externals = sh
+allowlist_externals = sh
+
+#######################################################################################
+[testenv:release_notes]
+deps = reno
+skip_install = true
+allowlist_externals = bash
+commands =
+ reno new {posargs:new_feature}
+ bash -c "sed -i -e '1 e head -16 tox.ini' releasenotes/notes/{posargs:new_feature}*.yaml"
#######################################################################################
[flake8]
max-line-length = 120
show-source = True
builtins = _
+import-order-style = google