diff --git a/Jenkinsfile b/Jenkinsfile index a98db8b7a..daeb96ae6 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -5,6 +5,7 @@ pipeline { options { disableConcurrentBuilds() } environment { TMPDIR = "/tmp/${JOB_NAME.take(32)}-${BUILD_NUMBER}" + TOXARGS = "${currentBuild.getBuildCauses('hudson.triggers.TimerTrigger$TimerTriggerCause') ? " " : "--verbose -m jenkins"}" } stages { stage('Unit Tests') { @@ -12,22 +13,9 @@ pipeline { sh "mkdir -p ${env.TMPDIR}" sh """ python3 -m venv ${env.TMPDIR}/venv/ -${env.TMPDIR}/venv/bin/pip install "tox<4" +${env.TMPDIR}/venv/bin/pip install "tox" NUMPROCESSES=6 \ -PGPORT=`python3 -c 'import struct; import socket; s=socket.socket(); s.setsockopt(socket.SOL_SOCKET, socket.SO_LINGER, struct.pack("ii", 1, 0)); s.bind(("", 0)); print(s.getsockname()[1]); s.close()'` pg_virtualenv -o fsync=off ${env.TMPDIR}/venv/bin/tox -rv""" - script { - if (currentBuild.getBuildCauses('hudson.triggers.TimerTrigger$TimerTriggerCause')) { - sh """ - NUMPROCESSES=6 \ - PGPORT=`python3 -c 'import struct; import socket; s=socket.socket(); s.setsockopt(socket.SOL_SOCKET, socket.SO_LINGER, struct.pack("ii", 1, 0)); s.bind(("", 0)); print(s.getsockname()[1]); s.close()'` pg_virtualenv -o fsync=off ${env.TMPDIR}/venv/bin/tox -rv""" - if (env.JOB_NAME == 'authentic' && env.GIT_BRANCH == 'origin/main') { - sh """ - NUMPROCESSES=6 PGPORT=`python3 -c 'import struct; import socket; s=socket.socket(); s.setsockopt(socket.SOL_SOCKET, socket.SO_LINGER, struct.pack("ii", 1, 0)); s.bind(("", 0)); print(s.getsockname()[1]); s.close()'` pg_virtualenv -o fsync=off ${env.TMPDIR}/venv/bin/tox -v -e py3-bullseye -- tests/api""" - sh """ - NUMPROCESSES=6 PGPORT=`python3 -c 'import struct; import socket; s=socket.socket(); s.setsockopt(socket.SOL_SOCKET, socket.SO_LINGER, struct.pack("ii", 1, 0)); s.bind(("", 0)); print(s.getsockname()[1]); s.close()'` pg_virtualenv -o fsync=off ${env.TMPDIR}/venv/bin/tox -v -e py3-stable-backports""" - } - } - } +PGPORT=`python3 -c 'import struct; import socket; s=socket.socket(); s.setsockopt(socket.SOL_SOCKET, socket.SO_LINGER, struct.pack("ii", 1, 0)); s.bind(("", 0)); print(s.getsockname()[1]); s.close()'` pg_virtualenv -o fsync=off ${env.TMPDIR}/venv/bin/tox run --recreate ${env.TOXARGS}""" } post { always { diff --git a/tox.ini b/tox.ini index 4af84c24a..e11f3ed8f 100644 --- a/tox.ini +++ b/tox.ini @@ -6,19 +6,16 @@ [tox] toxworkdir = {env:TMPDIR:/tmp}/tox-{env:USER}/authentic/ envlist = + update-locales py3 py3-buster py3-bullseye py3-stable-backports - code-style - -[tox:jenkins] -envlist = - update-locales - py3-bullseye check-migrations code-style pylint +labels = + jenkins = update-locales,py3-bullseye,check-migrations,code-style,pylint [testenv] setenv = @@ -99,6 +96,8 @@ deps = bullseye: jwcrypto<0.9 stable-backports: jwcrypto<0.9 usedevelop = True +allowlist_externals = + ./getlasso3.sh commands = ./getlasso3.sh py.test {env:PYTESTOPTIONS:} {env:FAST:} {env:REUSEDB:} {env:COVERAGE:} {env:JUNIT:} {env:SW:} {posargs:{env:TESTS} --numprocesses {env:NUMPROCESSES:1} --random-group} @@ -111,6 +110,9 @@ setenv = SETUPTOOLS_USE_DISTUTILS=stdlib deps = psycopg2-binary<2.9 +allowlist_externals = + ./getlasso3.sh + ./check-migrations.sh commands = ./getlasso3.sh ./check-migrations.sh @@ -134,6 +136,9 @@ deps = uwsgidecorators pyquery numpy +allowlist_externals = + ./getlasso3.sh + ./pylint.sh commands = ./getlasso3.sh ./pylint.sh {posargs:tests/ src/} @@ -148,6 +153,9 @@ deps = django-debug-toolbar ipython ipdb +allowlist_externals = + ./getlasso3.sh + ./manage.py commands = ./getlasso3.sh ./manage.py {posargs:--help} @@ -159,6 +167,9 @@ setenv = DJANGO_SETTINGS_MODULE=authentic2.settings deps = psycopg2-binary<2.9 +allowlist_externals = + ./getlasso3.sh + ./manage.py commands = ./getlasso3.sh ./manage.py makemessages -l fr -i tests