ci: speed up CI by using pytest-xdist (#42144)
This commit is contained in:
parent
78e694f81f
commit
f695aba659
|
@ -13,20 +13,21 @@ pipeline {
|
|||
sh """
|
||||
python3 -m venv ${env.TMPDIR}/venv/
|
||||
${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 """
|
||||
PYTESTOPTIONS=--slow \
|
||||
NUMPROCESSES=6 PYTESTOPTIONS=--slow \
|
||||
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"""
|
||||
sh """
|
||||
PYTESTOPTIONS=--slow \
|
||||
NUMPROCESSES=6 PYTESTOPTIONS=--slow \
|
||||
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 -e py3-buster-rbac"""
|
||||
if (env.JOB_NAME == 'authentic' && env.GIT_BRANCH == 'origin/main') {
|
||||
sh """
|
||||
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"""
|
||||
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 """
|
||||
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"""
|
||||
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"""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
7
tox.ini
7
tox.ini
|
@ -23,6 +23,8 @@ envlist =
|
|||
[testenv]
|
||||
setenv =
|
||||
|
||||
NUMPROCESSES={env:NUMPROCESSES:1}
|
||||
|
||||
!rbac: AUTHENTIC2_SETTINGS_FILE=tests/settings.py
|
||||
!rbac: DJANGO_SETTINGS_MODULE=authentic2.settings
|
||||
rbac: DJANGO_SETTINGS_MODULE=django_rbac.test_settings
|
||||
|
@ -69,6 +71,7 @@ deps =
|
|||
pytest-cov
|
||||
pytest-django
|
||||
pytest-random
|
||||
pytest-xdist
|
||||
mock<4
|
||||
pytest!=5.3.3
|
||||
lxml
|
||||
|
@ -97,8 +100,8 @@ deps =
|
|||
usedevelop = True
|
||||
commands =
|
||||
./getlasso3.sh
|
||||
rbac: py.test {env:PYTESTOPTIONS:} {env:FAST:} {env:REUSEDB:} {env:COVERAGE:} {env:JUNIT:} {env:SW:} {posargs:{env:TESTS} --random-group}
|
||||
!rbac: py.test {env:PYTESTOPTIONS:} {env:FAST:} {env:REUSEDB:} {env:COVERAGE:} {env:JUNIT:} {env:SW:} {posargs:{env:TESTS} --random-group}
|
||||
rbac: py.test {env:PYTESTOPTIONS:} {env:FAST:} {env:REUSEDB:} {env:COVERAGE:} {env:JUNIT:} {env:SW:} {posargs:{env:TESTS} --numprocesses {env:NUMPROCESSES:1} --random-group}
|
||||
!rbac: py.test {env:PYTESTOPTIONS:} {env:FAST:} {env:REUSEDB:} {env:COVERAGE:} {env:JUNIT:} {env:SW:} {posargs:{env:TESTS} --numprocesses {env:NUMPROCESSES:1} --random-group}
|
||||
|
||||
[testenv:check-migrations]
|
||||
basepython = python3
|
||||
|
|
Loading…
Reference in New Issue