misc: adapt to tox 4 and simplify Jenkinsfile (#72175)

This commit is contained in:
Benjamin Dauvergne 2022-12-08 11:25:31 +01:00
parent 4240f989ae
commit 210f6bdf01
2 changed files with 20 additions and 21 deletions

18
Jenkinsfile vendored
View File

@ -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 {

23
tox.ini
View File

@ -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