Update pip requirements to pass stage2 and stage3 in all modules
[osm/NG-SA.git] / tox.ini
diff --git a/tox.ini b/tox.ini
index 4a9dcbf..fb89d5c 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -16,7 +16,7 @@
 #######################################################################################
 
 [tox]
-envlist = black, flake8
+envlist = black, flake8, pylint, pylint-webhook
 
 [tox:jenkins]
 toxworkdir = /tmp/.tox
@@ -24,7 +24,7 @@ setenv = XDG_CACHE_HOME=/tmp/.cache
 
 [testenv]
 usedevelop = True
-basepython = python3
+basepython = python3.10
 setenv = VIRTUAL_ENV={envdir}
          PYTHONDONTWRITEBYTECODE = 1
 deps =  -r{toxinidir}/requirements.txt
@@ -36,7 +36,8 @@ parallel_show_output = true
 deps = black
 skip_install = true
 commands =
-        black --check --diff src
+        black --check --diff src setup.py
+        black --check --diff osm_webhook_translator
 
 
 #######################################################################################
@@ -44,12 +45,14 @@ commands =
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dev.txt
         -r{toxinidir}/requirements-test.txt
-whitelist_externals = sh
+allowlist_externals = sh
 commands =
         sh -c 'rm -f nosetests.xml'
         coverage erase
         nose2 -C --coverage src -s src
-        sh -c 'mv .coverage .coverage_mon'
+        sh -c 'mv .coverage .coverage_ngsa'
+        nose2 -C --coverage osm_webhook_translator -s osm_webhook_translator
+        sh -c 'mv .coverage .coverage_webhook_translator'
         coverage report --omit='*tests*'
         coverage html -d ./cover --omit='*tests*'
         coverage xml -o coverage.xml --omit='*tests*'
@@ -59,9 +62,9 @@ commands =
 [testenv:flake8]
 deps =  flake8==5.0.4
         flake8-import-order
-skip_install = true
 commands =
-        flake8 src/
+        flake8 src setup.py
+        flake8 osm_webhook_translator
 
 
 #######################################################################################
@@ -72,7 +75,16 @@ deps =  {[testenv]deps}
         pylint
 skip_install = true
 commands =
-        pylint -E src
+        pylint -E src setup.py --disable=E0401
+
+
+[testenv:pylint-webhook]
+changedir = {toxinidir}/osm_webhook_translator
+deps =  -r{toxinidir}/osm_webhook_translator/requirements.txt
+        pylint
+skip_install = true
+commands =
+        pylint -E src setup.py
 
 
 #######################################################################################
@@ -88,28 +100,33 @@ commands =
 
 #######################################################################################
 [testenv:pip-compile]
-deps =  pip-tools==6.6.2
+deps =  pip-tools==6.13.0
 skip_install = true
-whitelist_externals =
+allowlist_externals =
         bash
         [
 commands =
         bash -c "for file in requirements*.in ; do \
         UNSAFE="" ; \
         if [[ $file =~ 'dist' ]] ; then UNSAFE='--allow-unsafe' ; fi ; \
-        pip-compile -rU --no-header $UNSAFE $file ;\
+        pip-compile -rU --resolver=backtracking --no-header $UNSAFE $file ;\
+        out=`echo $file | sed 's/.in/.txt/'` ; \
+        sed -i -e '1 e head -16 tox.ini' $out ;\
+        done"
+        bash -c "for file in osm_webhook_translator/requirements*.in ; do \
+        UNSAFE="" ; \
+        if [[ $file =~ 'dist' ]] ; then UNSAFE='--allow-unsafe' ; fi ; \
+        pip-compile --resolver=backtracking -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]
+[testenv:dist_ng_sa]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
-
-# In the commands, we copy the requirements.txt to be presented as a source file (.py)
-# so it gets included in the .deb package for others to consume
+allowlist_externals = sh
 commands =
         sh -c 'cp requirements.txt src/osm_ngsa/requirements.txt'
         sh -c 'cp README.rst src/osm_ngsa/README.rst'
@@ -117,7 +134,21 @@ commands =
         sh -c 'cd deb_dist/osm-ngsa*/ && dpkg-buildpackage -rfakeroot -uc -us'
         sh -c 'rm src/osm_ngsa/requirements.txt'
         sh -c 'rm src/osm_ngsa/README.rst'
-whitelist_externals = sh
+
+
+#######################################################################################
+[testenv:dist_webhook_translator]
+deps =  -r{toxinidir}/osm_webhook_translator/requirements.txt
+        -r{toxinidir}/osm_webhook_translator/requirements-dist.txt
+allowlist_externals = sh
+commands =
+        sh -c 'cp src/osm_ngsa/_version.py osm_webhook_translator/src/osm_webhook_translator/_version.py'
+        sh -c 'cd osm_webhook_translator && cp requirements.txt src/osm_webhook_translator/requirements.txt'
+        sh -c 'cd osm_webhook_translator && cp README.rst src/osm_webhook_translator/README.rst'
+        sh -c 'cd osm_webhook_translator && python3 setup.py --command-packages=stdeb.command sdist_dsc'
+        sh -c 'cd osm_webhook_translator/deb_dist/osm-webhook-translator*/ && dpkg-buildpackage -rfakeroot -uc -us'
+        sh -c 'rm osm_webhook_translator/src/osm_webhook_translator/requirements.txt'
+        sh -c 'rm osm_webhook_translator/src/osm_webhook_translator/README.rst'
 
 
 #######################################################################################